mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
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
This commit is contained in:
parent
8e067b0b44
commit
6ea4dd4a65
2 changed files with 38 additions and 34 deletions
|
@ -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 @@ class AssertDifferenceTest < Test::Unit::TestCase
|
|||
end.new
|
||||
@object.num = 0
|
||||
end
|
||||
|
||||
def test_assert_no_difference
|
||||
assert_no_difference '@object.num' do
|
||||
# ...
|
||||
end
|
||||
end
|
||||
|
||||
def test_assert_difference
|
||||
assert_difference '@object.num', +1 do
|
||||
@object.increment
|
||||
if lambda { }.respond_to?(:binding)
|
||||
def test_assert_no_difference
|
||||
assert_no_difference '@object.num' do
|
||||
# ...
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_assert_difference_with_implicit_difference
|
||||
assert_difference '@object.num' do
|
||||
@object.increment
|
||||
def test_assert_difference
|
||||
assert_difference '@object.num', +1 do
|
||||
@object.increment
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_arbitrary_expression
|
||||
assert_difference '@object.num + 1', +2 do
|
||||
@object.increment
|
||||
@object.increment
|
||||
def test_assert_difference_with_implicit_difference
|
||||
assert_difference '@object.num' do
|
||||
@object.increment
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_negative_differences
|
||||
assert_difference '@object.num', -1 do
|
||||
@object.decrement
|
||||
def test_arbitrary_expression
|
||||
assert_difference '@object.num + 1', +2 do
|
||||
@object.increment
|
||||
@object.increment
|
||||
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_negative_differences
|
||||
assert_difference '@object.num', -1 do
|
||||
@object.decrement
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_array_of_expressions
|
||||
assert_difference [ '@object.num', '@object.num + 1' ], +1 do
|
||||
@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
|
||||
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue