diff options
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | string.c | 7 | ||||
| -rw-r--r-- | test/ruby/test_m17n.rb | 13 |
3 files changed, 11 insertions, 13 deletions
@@ -1,3 +1,7 @@ +Mon Dec 24 05:13:04 2007 Yukihiro Matsumoto <matz@ruby-lang.org> + + * string.c (tr_trans): should associate new encoding if modified. + Mon Dec 24 04:04:12 2007 GOTOU Yuuzou <gotoyuzo@notwork.org> * test/net/http/test_https.rb: should rescue LoadError. @@ -3654,8 +3654,11 @@ tr_trans(VALUE str, VALUE src, VALUE repl, int sflag) STR_SET_NOEMBED(str); RSTRING(str)->as.heap.aux.capa = max; } - - if (modify) return str; + + if (modify) { + rb_enc_associate(str, enc); + return str; + } return Qnil; } diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index 60c7c88d18..0026816335 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -1763,11 +1763,7 @@ class TestM17N < Test::Unit::TestCase next end t = s1.tr(s2, s3) - if s3.empty? - assert_equal(0, t.length, desc) - next - end - assert_equal(s1.length, t.length, desc) + assert_operator(s1.length, :>=, t.length, desc) } end @@ -1799,12 +1795,7 @@ class TestM17N < Test::Unit::TestCase end t = nil - assert_nothing_raised(desc) { t = s1.tr_s(s2, s3) } - - if s3.empty? - assert_equal(0, t.length, desc) - next - end + assert_nothing_raised(desc) { t = s1.tr_s(s1, s3) } assert_operator(s1.length, :>=, t.length, desc) } end |
