From 2d97d3ddac90777a9df4edea9c445155e42f30b7 Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 29 Feb 2008 13:33:26 +0000 Subject: * string.c (rb_str_chomp_bang): now works on UTF-16. * string.c (tr_setup_table): negation should work on non ASCII compatible strings as well. * string.c (rb_str_split_m): awk split should work on non ASCII compatible strings as well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_string.rb | 12 ++++++++---- test/ruby/test_utf16.rb | 8 +++++--- 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'test/ruby') diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index d0984e8fdb..647babb663 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -280,6 +280,7 @@ class TestString < Test::Unit::TestCase def test_chomp assert_equal(S("hello"), S("hello").chomp("\n")) assert_equal(S("hello"), S("hello\n").chomp("\n")) + save = $/ $/ = "\n" @@ -289,7 +290,7 @@ class TestString < Test::Unit::TestCase $/ = "!" assert_equal(S("hello"), S("hello").chomp) assert_equal(S("hello"), S("hello!").chomp) - $/ = "\n" + $/ = save end def test_chomp! @@ -302,6 +303,7 @@ class TestString < Test::Unit::TestCase a = S("hello\n") a.chomp!(S("\n")) assert_equal(S("hello"), a) + save = $/ $/ = "\n" a = S("hello") @@ -321,7 +323,7 @@ class TestString < Test::Unit::TestCase a.chomp! assert_equal(S("hello"), a) - $/ = "\n" + $/ = save a = S("hello\n") b = a.dup @@ -474,6 +476,7 @@ class TestString < Test::Unit::TestCase end def test_each + save = $/ $/ = "\n" res=[] S("hello\nworld").lines.each {|x| res << x} @@ -490,7 +493,7 @@ class TestString < Test::Unit::TestCase S("hello!world").lines.each {|x| res << x} assert_equal(S("hello!"), res[0]) assert_equal(S("world"), res[1]) - $/ = "\n" + $/ = save end def test_each_byte @@ -502,6 +505,7 @@ class TestString < Test::Unit::TestCase end def test_each_line + save = $/ $/ = "\n" res=[] S("hello\nworld").lines.each {|x| res << x} @@ -520,7 +524,7 @@ class TestString < Test::Unit::TestCase assert_equal(S("hello!"), res[0]) assert_equal(S("world"), res[1]) - $/ = "\n" + $/ = save end def test_empty? diff --git a/test/ruby/test_utf16.rb b/test/ruby/test_utf16.rb index 1647563f84..74ddcf752e 100644 --- a/test/ruby/test_utf16.rb +++ b/test/ruby/test_utf16.rb @@ -232,9 +232,11 @@ EOT def test_chomp s = "\1\n".force_encoding("utf-16be") - assert_raise(ArgumentError, "#{encdump s}.chomp") { - s.chomp - } + assert_equal(s, s.chomp, "#{encdump s}.chomp") + s = "\0\n".force_encoding("utf-16be") + assert_equal("", s.chomp, "#{encdump s}.chomp") + s = "\0\r\0\n".force_encoding("utf-16be") + assert_equal("", s.chomp, "#{encdump s}.chomp") end def test_succ -- cgit v1.2.3