diff options
-rw-r--r-- | test/irb/test_color.rb | 4 | ||||
-rw-r--r-- | test/ruby/test_marshal.rb | 4 | ||||
-rw-r--r-- | test/ruby/test_module.rb | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/test/irb/test_color.rb b/test/irb/test_color.rb index 203b605296..b136d38165 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 ef8b261321..d2b4ec169f 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 43f0c51753..fac3131f42 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 |