diff options
author | Benoit Daloze <[email protected]> | 2022-09-28 19:04:06 +0200 |
---|---|---|
committer | Benoit Daloze <[email protected]> | 2022-09-29 15:48:35 +0200 |
commit | aa53d69aa21c4dfa2a78a1cec5cb34e9697b3d30 (patch) | |
tree | 9ceb28d6d9ac347276dd24846182c34ead900e69 | |
parent | 94cea3e4d0a60326bd95be762819eed8ccd59ca6 (diff) |
Add specs for {Method,UnboundMethod}#owner of a zsuper method
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6467
-rw-r--r-- | spec/ruby/core/method/owner_spec.rb | 6 | ||||
-rw-r--r-- | spec/ruby/core/unboundmethod/owner_spec.rb | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/spec/ruby/core/method/owner_spec.rb b/spec/ruby/core/method/owner_spec.rb index ca5dff7295..05422f1697 100644 --- a/spec/ruby/core/method/owner_spec.rb +++ b/spec/ruby/core/method/owner_spec.rb @@ -23,4 +23,10 @@ describe "Method#owner" do @m.method(:handled_via_method_missing).owner.should == MethodSpecs::Methods end end + + ruby_version_is "3.2" do + it "returns the class on which public was called for a private method in ancestor" do + MethodSpecs::InheritedMethods::C.new.method(:derp).owner.should == MethodSpecs::InheritedMethods::C + end + end end diff --git a/spec/ruby/core/unboundmethod/owner_spec.rb b/spec/ruby/core/unboundmethod/owner_spec.rb index 5f1f4646b3..e8a734dac4 100644 --- a/spec/ruby/core/unboundmethod/owner_spec.rb +++ b/spec/ruby/core/unboundmethod/owner_spec.rb @@ -1,5 +1,6 @@ require_relative '../../spec_helper' require_relative 'fixtures/classes' +require_relative '../method/fixtures/classes' describe "UnboundMethod#owner" do it "returns the owner of the method" do @@ -23,4 +24,10 @@ describe "UnboundMethod#owner" do child_singleton_class.instance_method(:class_method).owner.should == parent_singleton_class child_singleton_class.instance_method(:another_class_method).owner.should == child_singleton_class end + + ruby_version_is "3.2" do + it "returns the class on which public was called for a private method in ancestor" do + MethodSpecs::InheritedMethods::C.instance_method(:derp).owner.should == MethodSpecs::InheritedMethods::C + end + end end |