diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-23 22:29:14 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-23 22:29:14 +0000 |
commit | 8579bb3d74c79f2ef37bed1ba3d1179b14dc5444 (patch) | |
tree | df5b96c7c9c458320915f08540af8341f4442953 /test | |
parent | 1e158208fc3223e39809549a7654aa9c37491e8f (diff) | |
download | ruby-8579bb3d74c79f2ef37bed1ba3d1179b14dc5444.tar.gz |
forwardable.rb: full qualify names
* lib/forwardable.rb (def_instance_delegator, def_single_delegator):
match backtraces against ::Forwardable in case the target class
is a subclass of BasicObject and does not include Kernel.
[ruby-core:71176] [Bug #11616]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/test_forwardable.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/test_forwardable.rb b/test/test_forwardable.rb index 9b26019893..6dd015e5a4 100644 --- a/test/test_forwardable.rb +++ b/test/test_forwardable.rb @@ -110,6 +110,19 @@ class TestForwardable < Test::Unit::TestCase assert_not_match(/\/forwardable\.rb/, e.backtrace[0]) end + class Foo2 < BasicObject + extend ::Forwardable + + def_delegator :bar, :baz + end + + def test_basicobject_subclass + bug11616 = '[ruby-core:71176] [Bug #11616]' + assert_raise_with_message(NameError, /`bar'/, bug11616) { + Foo2.new.baz + } + end + private def forwardable_class(&block) |