diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-29 14:57:04 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-29 14:57:04 +0000 |
commit | 99de7f24f76a0ea1dc61a404a815611801107e0e (patch) | |
tree | d6f7576aa18de39832d6f4c34da537a0188cdf90 | |
parent | 21c9bd1b33b122fafb310147e565b792d62c8241 (diff) | |
download | ruby-99de7f24f76a0ea1dc61a404a815611801107e0e.tar.gz |
* test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_chomp): test
updated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | string.c | 2 | ||||
-rw-r--r-- | test/ruby/test_m17n_comb.rb | 8 |
3 files changed, 12 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Fri Feb 29 23:14:38 2008 Yukihiro Matsumoto <matz@ruby-lang.org> + + * test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_chomp): test + updated. + Fri Feb 29 20:58:09 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * test/ruby/test_iterator.rb (TestIterator::test_enumerator): @@ -5357,11 +5357,11 @@ rb_str_chomp_bang(int argc, VALUE *argv, VALUE str) if (rslen == 1 && newline == '\n') goto smart_chomp; + enc = rb_enc_check(str, rs); if (is_broken_string(rs)) { return Qnil; } pp = e - rslen; - enc = rb_enc_check(str, rs); if (p[len-1] == newline && (rslen <= 1 || memcmp(RSTRING_PTR(rs), pp, rslen) == 0)) { diff --git a/test/ruby/test_m17n_comb.rb b/test/ruby/test_m17n_comb.rb index b3a5bfdc51..a3dcde3283 100644 --- a/test/ruby/test_m17n_comb.rb +++ b/test/ruby/test_m17n_comb.rb @@ -720,8 +720,10 @@ class TestM17NComb < Test::Unit::TestCase def test_str_chomp combination(STRINGS, STRINGS) {|s1, s2| - if !s1.ascii_only? && !s2.ascii_only? && s1.encoding != s2.encoding - assert_raise(ArgumentError) { s1.chomp(s2) } + if !s1.ascii_only? && !s2.ascii_only? && !Encoding.compatible?(s1,s2) + if s1.bytesize > s2.bytesize + assert_raise(ArgumentError) { s1.chomp(s2) } + end next end t = enccall(s1, :chomp, s2) @@ -1425,6 +1427,7 @@ class TestM17NComb < Test::Unit::TestCase assert_equal(s1, doit.call) next end + assert(false, "test broken") if !str_enc_compatible?(s1.gsub(r2, ''), s3) assert_raise(ArgumentError, desc) { doit.call } next @@ -1479,6 +1482,7 @@ class TestM17NComb < Test::Unit::TestCase assert_equal([s1, nil], doit.call) next end + assert(false, "test broken") if !str_enc_compatible?(s1.gsub(r2, ''), s3) assert_raise(ArgumentError, desc) { doit.call } next |