diff options
author | Jeremy Evans <[email protected]> | 2020-03-22 09:30:20 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2020-03-22 09:30:20 -0700 |
commit | adecd43197d5ea2a62a618a5c9be653bcf009c62 (patch) | |
tree | 87d424ac3085c83ed021273ee2ad9e8b4a11f5d6 /test/ruby | |
parent | 4f7b435c955792af780fe9e94f98d3dde839e056 (diff) |
Merge pull request #2721 from jeremyevans/method-inspect-chain-alias-11188
Correctly show defined class for aliases of aliases
Notes
Notes:
Merged-By: jeremyevans <[email protected]>
Diffstat (limited to 'test/ruby')
-rw-r--r-- | test/ruby/test_alias.rb | 26 | ||||
-rw-r--r-- | test/ruby/test_method.rb | 2 |
2 files changed, 27 insertions, 1 deletions
diff --git a/test/ruby/test_alias.rb b/test/ruby/test_alias.rb index 33fb82e1d7..271d552bf5 100644 --- a/test/ruby/test_alias.rb +++ b/test/ruby/test_alias.rb @@ -35,6 +35,18 @@ class TestAlias < Test::Unit::TestCase end end + class Alias4 < Alias0 + alias foo1 foo + alias foo2 foo1 + alias foo3 foo2 + end + + class Alias5 < Alias4 + alias foo1 foo + alias foo3 foo2 + alias foo2 foo1 + end + def test_alias x = Alias2.new assert_equal "foo", x.bar @@ -47,6 +59,20 @@ class TestAlias < Test::Unit::TestCase assert_raise(NoMethodError) { x.quux } end + def test_alias_inspect + o = Alias4.new + assert_equal("TestAlias::Alias4(TestAlias::Alias0)#foo()", o.method(:foo).inspect.split[1]) + assert_equal("TestAlias::Alias4(TestAlias::Alias0)#foo1(foo)()", o.method(:foo1).inspect.split[1]) + assert_equal("TestAlias::Alias4(TestAlias::Alias0)#foo2(foo)()", o.method(:foo2).inspect.split[1]) + assert_equal("TestAlias::Alias4(TestAlias::Alias0)#foo3(foo)()", o.method(:foo3).inspect.split[1]) + + o = Alias5.new + assert_equal("TestAlias::Alias5(TestAlias::Alias0)#foo()", o.method(:foo).inspect.split[1]) + assert_equal("TestAlias::Alias5(TestAlias::Alias0)#foo1(foo)()", o.method(:foo1).inspect.split[1]) + assert_equal("TestAlias::Alias5(TestAlias::Alias0)#foo2(foo)()", o.method(:foo2).inspect.split[1]) + assert_equal("TestAlias::Alias5(TestAlias::Alias0)#foo3(foo)()", o.method(:foo3).inspect.split[1]) + end + def test_nonexistmethod assert_raise(NameError){ Class.new{ diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb index 01a69059e8..12f6f9aa27 100644 --- a/test/ruby/test_method.rb +++ b/test/ruby/test_method.rb @@ -828,7 +828,7 @@ class TestMethod < Test::Unit::TestCase assert_equal(c, c.instance_method(:foo).owner) assert_equal(c, x.method(:foo).owner) assert_equal(x.singleton_class, x.method(:bar).owner) - assert_not_equal(x.method(:foo), x.method(:bar), bug7613) + assert_equal(x.method(:foo), x.method(:bar), bug7613) assert_equal(c, x.method(:zot).owner, bug7993) assert_equal(c, c.instance_method(:zot).owner, bug7993) end |