diff options
| author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-03 07:23:09 +0000 |
|---|---|---|
| committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-03 07:23:09 +0000 |
| commit | 05438733353edf4cc0a0d1ba169870446e4b029b (patch) | |
| tree | b97ae3a7484e9b6ae43f438399b9029d203ed8d7 /test/ruby | |
| parent | fba7f2b01bbb5401faaf3948bfd2e5d9c58996d0 (diff) | |
* string.c (rb_str_getbyte, rb_str_setbyte): Add String#getbyte
and String#setbyte for the forward compatibility with 1.9, where
the behavior of String#[] and String#[]= have changed; based on
a patch from Shinichiro Hamaji in [ruby-dev:37247].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_string.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index 4f2070ade0..8d37479de4 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -77,4 +77,23 @@ class TestString < Test::Unit::TestCase assert_equal("aaaaaaaaaaaa", "zzzzzzzzzzz".succ!) assert_equal("aaaaaaaaaaaaaaaaaaaaaaaa", "zzzzzzzzzzzzzzzzzzzzzzz".succ!) end + + def test_getbyte + assert_equal(0x82, "\xE3\x81\x82\xE3\x81\x84".getbyte(2)) + assert_equal(0x82, "\xE3\x81\x82\xE3\x81\x84".getbyte(-4)) + assert_nil("\xE3\x81\x82\xE3\x81\x84".getbyte(100)) + end + + def test_setbyte + s = "\xE3\x81\x82\xE3\x81\x84" + s.setbyte(2, 0x84) + assert_equal("\xE3\x81\x84\xE3\x81\x84", s) + + s = "\xE3\x81\x82\xE3\x81\x84" + assert_raise(IndexError) { s.setbyte(100, 0) } + + s = "\xE3\x81\x82\xE3\x81\x84" + s.setbyte(-4, 0x84) + assert_equal("\xE3\x81\x84\xE3\x81\x84", s) + end end |
