Permalink
Browse files

Mark Test::Unit#assert_difference incompatibility with Ruby 2 due to …

…Proc#binding usage

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7682 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 8e067b0 commit 6ea4dd4a65f85f165f71cf1c866dea578dae9e49 @jeremy jeremy committed Sep 29, 2007
Showing with 37 additions and 33 deletions.
  1. +2 −1 activesupport/lib/active_support/core_ext/test/difference.rb
  2. +35 −32 activesupport/test/test_test.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.
#
@@ -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

0 comments on commit 6ea4dd4

Please sign in to comment.