summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorNobuyoshi Nakada <[email protected]>2025-01-29 16:55:44 +0900
committerNobuyoshi Nakada <[email protected]>2025-03-18 23:47:20 +0900
commitf69ad0e810e1fdc18dc12f77bbecfa49999ef3bf (patch)
treec78a56901f15314471391d883685a64cda1af232 /test/ruby
parent6670926a91734ddb92d01ce4578b1bb48d26b7de (diff)
[Bug #21094] Update nested module names when setting temporary name
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12947
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("")