summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_module.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb
index 5d254452c6..9a21113fe0 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -3378,13 +3378,22 @@ class TestModule < Test::Unit::TestCase
m::N.set_temporary_name(nil)
assert_nil(m::N.name)
+ m::N.const_set(:O, Module.new)
+ m.const_set(:Recursive, m)
+ m::N.const_set(:Recursive, m)
+ m.const_set(:A, 42)
+
m.set_temporary_name(name = "fake_name")
name.upcase!
assert_equal("fake_name", m.name)
assert_raise(FrozenError) {m.name.upcase!}
+ assert_equal("fake_name::N", m::N.name)
+ assert_equal("fake_name::N::O", m::N::O.name)
m.set_temporary_name(nil)
assert_nil m.name
+ assert_nil m::N.name
+ assert_nil m::N::O.name
assert_raise_with_message(ArgumentError, "empty class/module name") do
m.set_temporary_name("")