Test::Unit#assert_difference Ruby 1.9 compat

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper
2007-09-29 21:29:34 +00:00
parent 8f68804fba
commit 85a08bd99e

View File

@@ -32,8 +32,8 @@ module Test #:nodoc:
# post :delete, :id => ...
# end
def assert_difference(expressions, difference = 1, message = nil, &block)
expression_evaluations = [expressions].flatten.collect{|expression| lambda { eval(expression, block.binding) } }
expression_evaluations = Array(expressions).collect{ |expression| lambda { eval(expression, block.send!(:binding)) } }
original_values = expression_evaluations.inject([]) { |memo, expression| memo << expression.call }
yield
expression_evaluations.each_with_index do |expression, i|