diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index 22938e0c1f..d4a38054ad 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -175,9 +175,11 @@ class TestString < Test::Unit::TestCase def o.<=>(x); nil; end assert_nil("foo" <=> o) + class<;end def o.<=>(x); 1; end assert_equal(-1, "foo" <=> o) + class<;end def o.<=>(x); 2**100; end assert_equal(-(2**100), "foo" <=> o) end @@ -200,6 +202,7 @@ class TestString < Test::Unit::TestCase def o.to_str; end def o.==(x); false; end assert_equal(false, "foo" == o) + class< s2, s2 <=> s1].sort) + assert_equal([-1, 1], [s1 <=> s2, s2 <=> s1].sort) end +=end def test_casecmp assert_equal(1, "\u3042B".casecmp("\u3042a")) @@ -1862,12 +1868,13 @@ class TestString < Test::Unit::TestCase assert_raise(Encoding::CompatibilityError) { "\u3042".encode("ISO-2022-JP").rstrip } end +=begin def test_symbol_table_overflow - return assert_in_out_err([], <<-INPUT, [], /symbol table overflow \(symbol [a-z]{8}\) \(RuntimeError\)/) ("aaaaaaaa".."zzzzzzzz").each {|s| s.to_sym } INPUT end +=end def test_shared_force_encoding s = "\u{3066}\u{3059}\u{3068}".gsub(//, '')