summaryrefslogtreecommitdiff
path: root/test/ruby/test_keyword.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_keyword.rb')
-rw-r--r--test/ruby/test_keyword.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/test/ruby/test_keyword.rb b/test/ruby/test_keyword.rb
index 1cf905ff01..c3ad7b9a97 100644
--- a/test/ruby/test_keyword.rb
+++ b/test/ruby/test_keyword.rb
@@ -205,7 +205,9 @@ class TestKeywordArguments < Test::Unit::TestCase
assert_equal(h3, f[**h3])
f = ->(a, **x) { [a,x] }
- assert_raise(ArgumentError) { f[**{}] }
+ assert_warn(/The keyword argument is passed as the last hash parameter.* for `\[\]'/m) do
+ assert_equal([{}, {}], f[**{}])
+ end
assert_warn(/The keyword argument is passed as the last hash parameter.* for `\[\]'/m) do
assert_equal([{}, {}], f[**kw])
end
@@ -418,7 +420,9 @@ class TestKeywordArguments < Test::Unit::TestCase
def c.m(arg, **args)
[arg, args]
end
- assert_raise(ArgumentError) { c.send(:m, **{}) }
+ assert_warn(/The keyword argument is passed as the last hash parameter.* for `m'/m) do
+ assert_equal([kw, kw], c.send(:m, **{}))
+ end
assert_warn(/The keyword argument is passed as the last hash parameter.* for `m'/m) do
assert_equal([kw, kw], c.send(:m, **kw))
end
@@ -491,7 +495,9 @@ class TestKeywordArguments < Test::Unit::TestCase
def c.method_missing(_, arg, **args)
[arg, args]
end
- assert_raise(ArgumentError) { c.send(:m, **{}) }
+ assert_warn(/The keyword argument is passed as the last hash parameter.* for `method_missing'/m) do
+ assert_equal([kw, kw], c.send(:m, **{}))
+ end
assert_warn(/The keyword argument is passed as the last hash parameter.* for `method_missing'/m) do
assert_equal([kw, kw], c.send(:m, **kw))
end