summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-01-11 00:33:26 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-01-11 00:33:26 +0900
commit480f436dacc28def6c23d6b914f03ac6a0753d5d (patch)
treea64fe0c1bdc609623cd20df200bb1eca67b43f62
parentc63552eab1a13c6c05e18d763c7acf3c4c5383ed (diff)
Suppress constant redefinition warnings
-rw-r--r--test/irb/test_color.rb4
-rw-r--r--test/ruby/test_marshal.rb4
-rw-r--r--test/ruby/test_module.rb2
3 files changed, 9 insertions, 1 deletions
diff --git a/test/irb/test_color.rb b/test/irb/test_color.rb
index 203b605..b136d38 100644
--- a/test/irb/test_color.rb
+++ b/test/irb/test_color.rb
@@ -153,13 +153,15 @@ module TestIRB
end
end
+ IRBTestColorPrinter = Struct.new(:a)
+
def test_color_printer
unless ripper_lexer_scan_supported?
skip 'Ripper::Lexer#scan is supported in Ruby 2.7+'
end
{
1 => "#{BLUE}#{BOLD}1#{CLEAR}\n",
- Struct.new('IRBTestColorPrinter', :a).new('test') => "#{GREEN}#<struct Struct::IRBTestColorPrinter#{CLEAR} a#{GREEN}=#{CLEAR}#{RED}#{BOLD}\"#{CLEAR}#{RED}test#{CLEAR}#{RED}#{BOLD}\"#{CLEAR}#{GREEN}>#{CLEAR}\n",
+ IRBTestColorPrinter.new('test') => "#{GREEN}#<struct TestIRB::TestColor::IRBTestColorPrinter#{CLEAR} a#{GREEN}=#{CLEAR}#{RED}#{BOLD}\"#{CLEAR}#{RED}test#{CLEAR}#{RED}#{BOLD}\"#{CLEAR}#{GREEN}>#{CLEAR}\n",
Ripper::Lexer.new('1').scan => "[#{GREEN}#<Ripper::Lexer::Elem:#{CLEAR} on_int@1:0 END token: #{RED}#{BOLD}\"#{CLEAR}#{RED}1#{CLEAR}#{RED}#{BOLD}\"#{CLEAR}#{GREEN}>#{CLEAR}]\n",
}.each do |object, result|
actual = with_term { IRB::ColorPrinter.pp(object, '') }
diff --git a/test/ruby/test_marshal.rb b/test/ruby/test_marshal.rb
index ef8b261..d2b4ec1 100644
--- a/test/ruby/test_marshal.rb
+++ b/test/ruby/test_marshal.rb
@@ -58,6 +58,8 @@ class TestMarshal < Test::Unit::TestCase
TestMarshal.instance_eval { remove_const :StructOrNot }
TestMarshal.const_set :StructOrNot, Class.new
assert_raise(TypeError, "[ruby-dev:31709]") { Marshal.load(s) }
+ ensure
+ TestMarshal.instance_eval { remove_const :StructOrNot }
end
def test_struct_invalid_members
@@ -66,6 +68,8 @@ class TestMarshal < Test::Unit::TestCase
Marshal.load("\004\bIc&TestMarshal::StructInvalidMembers\006:\020__members__\"\bfoo")
TestMarshal::StructInvalidMembers.members
}
+ ensure
+ TestMarshal.instance_eval { remove_const :StructInvalidMembers }
end
class C
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb
index 43f0c51..fac3131 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -793,6 +793,8 @@ class TestModule < Test::Unit::TestCase
assert_equal(prefix+"C", m.const_get(:C).name)
c = m.class_eval("Bug15891 = Class.new.freeze")
assert_equal(prefix+"Bug15891", c.name)
+ ensure
+ self.class.class_eval {remove_const(:M)}
end
def test_private_class_method