summaryrefslogtreecommitdiff
path: root/test/ruby/test_module.rb
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2025-03-29 16:49:59 +0900
committernagachika <nagachika@ruby-lang.org>2025-03-29 16:49:59 +0900
commitaac5c546cd35ff0aeab120e3724fbb1296892ae3 (patch)
tree574cc6fa8d3ef7458b11540d3981eae80421a98d /test/ruby/test_module.rb
parent770060f7662698ca74bc28428919a688b8fe06d2 (diff)
merge revision(s) f69ad0e810e1fdc18dc12f77bbecfa49999ef3bf: [Backport #21094]
[Bug #21094] Update nested module names when setting temporary name
Diffstat (limited to 'test/ruby/test_module.rb')
-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 f2accd0c59..7de50c4c79 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -3367,13 +3367,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("")