From 3a87826d0c3dd4c42e327e0cd4fb0806d898497f Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Fri, 29 Nov 2019 16:51:13 +0900 Subject: vm_method.c: add top-level ruby2_keywords This is a top-level version of Module#ruby2_keywords. It can be used for functions (top-level methods) that delegates arguments. [Feature #16364] --- test/ruby/test_keyword.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_keyword.rb b/test/ruby/test_keyword.rb index 29335a4963..862b6733ea 100644 --- a/test/ruby/test_keyword.rb +++ b/test/ruby/test_keyword.rb @@ -2985,6 +2985,18 @@ class TestKeywordArguments < Test::Unit::TestCase assert_raise(FrozenError) { c.send(:ruby2_keywords, :baz) } end + def test_top_ruby2_keywords + assert_in_out_err([], <<-INPUT, ["[1, 2, 3]", "{:k=>1}"], []) + def bar(*a, **kw) + p a, kw + end + ruby2_keywords def foo(*a) + bar(*a) + end + foo(1, 2, 3, k:1) + INPUT + end + def test_dig_kwsplat kw = {} h = {:a=>1} -- cgit v1.2.3