instance method
assert_deprecated
Ruby on Rails 8.1.2
Since v7.0.10Signature
assert_deprecated(deprecator, &block)
assert_deprecated(match, deprecator, &block)
Asserts that a matching deprecation warning was emitted by the given deprecator during the execution of the yielded block.
assert_deprecated(/foo/, CustomDeprecator) do CustomDeprecator.warn "foo should no longer be used" end
The match object may be a Regexp, or String appearing in the message.
assert_deprecated('foo', CustomDeprecator) do CustomDeprecator.warn "foo should no longer be used" end
If the match is omitted (or explicitly nil), any deprecation warning will match.
assert_deprecated(CustomDeprecator) do CustomDeprecator.warn "foo should no longer be used" end
Parameters
-
matchopt = nil -
deprecatoropt = nil -
blockblock
Source
# File activesupport/lib/active_support/testing/deprecation.rb, line 30
def assert_deprecated(match = nil, deprecator = nil, &block)
match, deprecator = nil, match if match.is_a?(ActiveSupport::Deprecation)
unless deprecator
raise ArgumentError, "No deprecator given"
end
result, warnings = collect_deprecations(deprecator, &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| match.match?(w) }, "No deprecation warning matched #{match}: #{warnings.join(', ')}"
end
result
end
Defined in activesupport/lib/active_support/testing/deprecation.rb line 30
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Testing::Deprecation