diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-15 14:37:18 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-15 14:37:18 +0000 |
commit | b8118e9645ca5e656975b6dae9ac88219fecee23 (patch) | |
tree | 7d2d9d454ecb67d5acd5b36f7a344891af96777b /test/ruby/test_m17n.rb | |
parent | 41bf214fd7273b2156e96dd600d57a578481daf1 (diff) |
* test/ruby/test_string.rb: add tests to achieve over 90% test
coverage of string.c.
* test/ruby/test_m17n.rb: ditto.
* test/ruby/test_symbol.rb: ditto.
* test/ruby/test_pack.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_m17n.rb')
-rw-r--r-- | test/ruby/test_m17n.rb | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index e5f9f8585f..a09dcc8f3b 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -877,6 +877,9 @@ class TestM17N < Test::Unit::TestCase } assert_equal(e("\xA1\xA1"), a("a").tr(a("a"), e("\xA1\xA1"))) + + assert_equal("X\u3042\u3044X", "A\u3042\u3044\u3046".tr("^\u3042\u3044", "X")) + assert_equal("\u3042\u3046" * 100, ("\u3042\u3044" * 100).tr("\u3044", "\u3046")) end def test_tr_s @@ -968,6 +971,12 @@ class TestM17N < Test::Unit::TestCase assert_equal(u("\xf0jihgfedcba"), u("abcdefghij\xf0").reverse) end + def test_reverse_bang + s = u("abcdefghij\xf0") + s.reverse! + assert_equal(u("\xf0jihgfedcba"), s) + end + def test_plus assert_raise(ArgumentError){u("\xe3\x81\x82") + a("\xa1")} end @@ -1201,8 +1210,27 @@ class TestM17N < Test::Unit::TestCase assert_equal(true, (s.dup << s).valid_encoding?) assert_equal(true, "".center(2, s).valid_encoding?) - s = "\xa1\xa1\x8f".force_encoding("euc-jp") - assert_equal(false, s.valid_encoding?) - assert_equal(true, s.reverse.valid_encoding?) - end + s = "\xa1\xa1\x8f".force_encoding("euc-jp") + assert_equal(false, s.valid_encoding?) + assert_equal(true, s.reverse.valid_encoding?) + end + + def test_getbyte + assert_equal(0x82, u("\xE3\x81\x82\xE3\x81\x84").getbyte(2)) + assert_equal(0x82, u("\xE3\x81\x82\xE3\x81\x84").getbyte(-4)) + assert_nil(u("\xE3\x81\x82\xE3\x81\x84").getbyte(100)) + end + + def test_setbyte + s = u("\xE3\x81\x82\xE3\x81\x84") + s.setbyte(2, 0x84) + assert_equal(u("\xE3\x81\x84\xE3\x81\x84"), s) + + s = u("\xE3\x81\x82\xE3\x81\x84") + assert_raise(IndexError) { s.setbyte(100, 0) } + + s = u("\xE3\x81\x82\xE3\x81\x84") + s.setbyte(-4, 0x84) + assert_equal(u("\xE3\x81\x84\xE3\x81\x84"), s) + end end |