diff options
author | Benoit Daloze <eregontp@gmail.com> | 2019-09-29 16:03:58 +0200 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2019-09-29 16:03:58 +0200 |
commit | 1c938a72aa9378f982dbc55327e86150c47b8707 (patch) | |
tree | 34a0bb0a45396c26eed111877a810c3aa793bff5 /spec/ruby/core/unboundmethod | |
parent | 31bb66a19df26409c9d47afcf37919c9a065516a (diff) |
Update to ruby/spec@519df35
Diffstat (limited to 'spec/ruby/core/unboundmethod')
-rw-r--r-- | spec/ruby/core/unboundmethod/fixtures/classes.rb | 1 | ||||
-rw-r--r-- | spec/ruby/core/unboundmethod/original_name_spec.rb | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/spec/ruby/core/unboundmethod/fixtures/classes.rb b/spec/ruby/core/unboundmethod/fixtures/classes.rb index 43e21916bf..46b1c51669 100644 --- a/spec/ruby/core/unboundmethod/fixtures/classes.rb +++ b/spec/ruby/core/unboundmethod/fixtures/classes.rb @@ -34,6 +34,7 @@ module UnboundMethodSpecs def with_block(&block); end alias bar foo + alias baz bar alias alias_1 foo alias alias_2 foo diff --git a/spec/ruby/core/unboundmethod/original_name_spec.rb b/spec/ruby/core/unboundmethod/original_name_spec.rb new file mode 100644 index 0000000000..7280dcb2b4 --- /dev/null +++ b/spec/ruby/core/unboundmethod/original_name_spec.rb @@ -0,0 +1,22 @@ +require_relative '../../spec_helper' +require_relative 'fixtures/classes' + +describe "UnboundMethod#original_name" do + it "returns the name of the method" do + String.instance_method(:upcase).original_name.should == :upcase + end + + it "returns the original name" do + obj = UnboundMethodSpecs::Methods.new + obj.method(:foo).unbind.original_name.should == :foo + obj.method(:bar).unbind.original_name.should == :foo + UnboundMethodSpecs::Methods.instance_method(:bar).original_name.should == :foo + end + + it "returns the original name even when aliased twice" do + obj = UnboundMethodSpecs::Methods.new + obj.method(:foo).unbind.original_name.should == :foo + obj.method(:baz).unbind.original_name.should == :foo + UnboundMethodSpecs::Methods.instance_method(:baz).original_name.should == :foo + end +end |