diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-23 20:13:55 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-23 20:13:55 +0000 |
| commit | 87664e799f6c4782937ec8154f73e7230e6268a7 (patch) | |
| tree | 84513771aaafdcf3e9849e5f7aa01bd880d86fba | |
| parent | 48247186ba43ccb221c2984ae3d1e12026ad6a5b (diff) | |
* string.c (tr_trans): should associate new encoding if modified.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -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 60c7c88d1..002681633 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 |
