Raise a better exception when a invalid depreation behavior is set

Fixes #32928.
上级 9f957679
......@@ -94,6 +94,10 @@ def behavior=(behavior)
private
def arity_coerce(behavior)
unless behavior.respond_to?(:call)
raise ArgumentError, "#{behavior.inspect} is not a valid deprecation behavior."
end
if behavior.arity == 4 || behavior.arity == -1
behavior
else
......
......@@ -182,6 +182,14 @@ def test_default_notify_behavior
end
end
def test_default_invalid_behavior
e = assert_raises(ArgumentError) do
ActiveSupport::Deprecation.behavior = :invalid
end
assert_equal ":invalid is not a valid deprecation behavior.", e.message
end
def test_deprecated_instance_variable_proxy
assert_not_deprecated { @dtc.request.size }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册