diff --git a/activesupport/lib/active_support/core_ext/test/difference.rb b/activesupport/lib/active_support/core_ext/test/difference.rb index 3d75809c6914f410e393a373e71abf5fb83c52b8..2ae4b7d6d1f0bc94135de390cd9cdd8fc6b85c9e 100644 --- a/activesupport/lib/active_support/core_ext/test/difference.rb +++ b/activesupport/lib/active_support/core_ext/test/difference.rb @@ -1,6 +1,7 @@ module Test #:nodoc: module Unit #:nodoc: - module Assertions #:nodoc: + # FIXME: no Proc#binding in Ruby 2, must change this API + module Assertions #:nodoc: # Test numeric difference between the return value of an expression as a result of what is evaluated # in the yielded block. # diff --git a/activesupport/test/test_test.rb b/activesupport/test/test_test.rb index 944b98f529ded3dcf91e4af66f1873bd3f5c4b4d..5c8039ea1eca5e0252dc6761ae5a788308081568 100644 --- a/activesupport/test/test_test.rb +++ b/activesupport/test/test_test.rb @@ -1,7 +1,6 @@ require File.dirname(__FILE__) + '/abstract_unit' class AssertDifferenceTest < Test::Unit::TestCase - def setup @object = Class.new do attr_accessor :num @@ -15,48 +14,52 @@ def decrement end.new @object.num = 0 end - - def test_assert_no_difference - assert_no_difference '@object.num' do - # ... + + if lambda { }.respond_to?(:binding) + def test_assert_no_difference + assert_no_difference '@object.num' do + # ... + end end - end - def test_assert_difference - assert_difference '@object.num', +1 do - @object.increment + def test_assert_difference + assert_difference '@object.num', +1 do + @object.increment + end end - end - def test_assert_difference_with_implicit_difference - assert_difference '@object.num' do - @object.increment + def test_assert_difference_with_implicit_difference + assert_difference '@object.num' do + @object.increment + end end - end - def test_arbitrary_expression - assert_difference '@object.num + 1', +2 do - @object.increment - @object.increment + def test_arbitrary_expression + assert_difference '@object.num + 1', +2 do + @object.increment + @object.increment + end end - end - def test_negative_differences - assert_difference '@object.num', -1 do - @object.decrement + def test_negative_differences + assert_difference '@object.num', -1 do + @object.decrement + end end - end - def test_expression_is_evaluated_in_the_appropriate_scope - local_scope = 'foo' - silence_warnings do - assert_difference('local_scope; @object.num') { @object.increment } + def test_expression_is_evaluated_in_the_appropriate_scope + local_scope = 'foo' + silence_warnings do + assert_difference('local_scope; @object.num') { @object.increment } + end end - end - - def test_array_of_expressions - assert_difference [ '@object.num', '@object.num + 1' ], +1 do - @object.increment + + def test_array_of_expressions + assert_difference [ '@object.num', '@object.num + 1' ], +1 do + @object.increment + end end + else + def default_test; end end end