mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Work around enumerable string deprecation warnings
This commit is contained in:
@@ -32,12 +32,15 @@ module ActiveSupport
|
||||
# post :delete, :id => ...
|
||||
# end
|
||||
def assert_difference(expressions, difference = 1, message = nil, &block)
|
||||
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|
|
||||
assert_equal original_values[i] + difference, expression.call, message
|
||||
case expressions
|
||||
when String
|
||||
before = eval(expressions, block.send(:binding))
|
||||
yield
|
||||
assert_equal(before + difference, eval(expressions, block.send(:binding)), message)
|
||||
when Enumerable
|
||||
expressions.each { |e| assert_difference(e, difference, message, &block) }
|
||||
else
|
||||
raise ArgumentError, "Unrecognized expression: #{expressions.inspect}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user