summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorKJ Tsanaktsidis <[email protected]>2024-08-09 10:35:54 +1000
committerHiroshi SHIBATA <[email protected]>2024-08-20 18:36:16 +0900
commit927a44b43f1db2527a4fe6709ec0867dea3ca58f (patch)
treea7e43bd87c72ba91ec72f67c1e5a0ba7fc39221c /test/ruby
parent5e3dd6d395ca551152c8920f69f39823efeab748 (diff)
Rewrite #test_redefinition_mismatch to use a dedicated test class
This test is checking what happens if you try and define a class in a C extension where that constant is already not a class. It was doing this by overriding ::Date and then trying to require 'date. The issue with this is that if we ever add 'date' as a dependency for the test runner, this test will break because the test runner files get implicitly required in an `assert_separately` block. Better use an explicit class for this purpose which can't be accidentally required elsewhere.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11400
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_class.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb
index 38a6e9eb9f..456362ef21 100644
--- a/test/ruby/test_class.rb
+++ b/test/ruby/test_class.rb
@@ -721,9 +721,13 @@ class TestClass < Test::Unit::TestCase
assert_separately([], "#{<<~"begin;"}\n#{<<~"end;"}")
begin;
- Date = (class C\u{1f5ff}; self; end).new
+ module Bug
+ module Class
+ TestClassDefinedInC = (class C\u{1f5ff}; self; end).new
+ end
+ end
assert_raise_with_message(TypeError, /C\u{1f5ff}/) {
- require 'date'
+ require '-test-/class'
}
end;
end