From e0c5488ff9308b1a16718c64bc9096caca88ed83 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Fri, 28 Jan 2022 14:42:38 +0100 Subject: Update to ruby/spec@902ab83 --- spec/ruby/core/module/ruby2_keywords_spec.rb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'spec/ruby/core/module/ruby2_keywords_spec.rb') diff --git a/spec/ruby/core/module/ruby2_keywords_spec.rb b/spec/ruby/core/module/ruby2_keywords_spec.rb index 34c45cb1bc..996774891c 100644 --- a/spec/ruby/core/module/ruby2_keywords_spec.rb +++ b/spec/ruby/core/module/ruby2_keywords_spec.rb @@ -15,6 +15,32 @@ ruby_version_is "2.7" do Hash.ruby2_keywords_hash?(last).should == true end + it "applies to the underlying method and applies across aliasing" do + obj = Object.new + + obj.singleton_class.class_exec do + def foo(*a) a.last end + alias_method :bar, :foo + ruby2_keywords :foo + + def baz(*a) a.last end + ruby2_keywords :baz + alias_method :bob, :baz + end + + last = obj.foo(1, 2, a: "a") + Hash.ruby2_keywords_hash?(last).should == true + + last = obj.bar(1, 2, a: "a") + Hash.ruby2_keywords_hash?(last).should == true + + last = obj.baz(1, 2, a: "a") + Hash.ruby2_keywords_hash?(last).should == true + + last = obj.bob(1, 2, a: "a") + Hash.ruby2_keywords_hash?(last).should == true + end + ruby_version_is "2.7" ... "3.0" do it "fixes delegation warnings when calling a method accepting keywords" do obj = Object.new -- cgit v1.2.3