summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_keyword.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/test/ruby/test_keyword.rb b/test/ruby/test_keyword.rb
index 2a99feb2de..7624e6d386 100644
--- a/test/ruby/test_keyword.rb
+++ b/test/ruby/test_keyword.rb
@@ -728,8 +728,12 @@ class TestKeywordArguments < Test::Unit::TestCase
def c.method_missing(_, args)
args
end
- assert_raise(ArgumentError) { c.m(**{}) }
- assert_raise(ArgumentError) { c.m(**kw) }
+ assert_warn(/The keyword argument is passed as the last hash parameter.* for `method_missing'/m) do
+ assert_equal(kw, c.m(**{}))
+ end
+ assert_warn(/The keyword argument is passed as the last hash parameter.* for `method_missing'/m) do
+ assert_equal(kw, c.m(**kw))
+ end
assert_equal(h, c.m(**h))
assert_equal(h, c.m(a: 1))
assert_equal(h2, c.m(**h2))
@@ -751,8 +755,12 @@ class TestKeywordArguments < Test::Unit::TestCase
def c.method_missing(_, arg, **args)
[arg, args]
end
- assert_raise(ArgumentError) { c.m(**{}) }
- assert_raise(ArgumentError) { c.m(**kw) }
+ assert_warn(/The keyword argument is passed as the last hash parameter.* for `method_missing'/m) do
+ assert_equal([kw, kw], c.m(**{}))
+ end
+ assert_warn(/The keyword argument is passed as the last hash parameter.* for `method_missing'/m) do
+ assert_equal([kw, kw], c.m(**kw))
+ end
assert_warn(/The keyword argument is passed as the last hash parameter.* for `method_missing'/m) do
assert_equal([h, kw], c.m(**h))
end