diff options
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/deprecation.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/activesupport/lib/active_support/deprecation.rb b/activesupport/lib/active_support/deprecation.rb index e4e1d187a5..50aff7582d 100644 --- a/activesupport/lib/active_support/deprecation.rb +++ b/activesupport/lib/active_support/deprecation.rb @@ -86,17 +86,19 @@ module ActiveSupport module Assertions def assert_deprecated(match = nil, &block) - warnings = collect_deprecations(&block) + result, warnings = collect_deprecations(&block) assert !warnings.empty?, "Expected a deprecation warning within the block but received none" if match match = Regexp.new(Regexp.escape(match)) unless match.is_a?(Regexp) assert warnings.any? { |w| w =~ match }, "No deprecation warning matched #{match}: #{warnings.join(', ')}" end + result end def assert_not_deprecated(&block) - deprecations = collect_deprecations(&block) + result, deprecations = collect_deprecations(&block) assert deprecations.empty?, "Expected no deprecation warning within the block but received #{deprecations.size}: \n #{deprecations * "\n "}" + result end private @@ -106,8 +108,8 @@ module ActiveSupport ActiveSupport::Deprecation.behavior = Proc.new do |message, callstack| deprecations << message end - yield - deprecations + result = yield + [result, deprecations] ensure ActiveSupport::Deprecation.behavior = old_behavior end |