diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 15:23:01 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 15:23:01 +0000 |
| commit | f04db2b4cffc548a1e3b0a478ae75b12b24308b3 (patch) | |
| tree | 194d27846f925141e2a9eca61338d18e630d61ee /test/ruby | |
| parent | 82fe6d2be5eb5c7dc84a70150e52fb8a42cd5453 (diff) | |
* string.c (rb_str_succ): limit carrying in an alphanumeric region if
exists. [ruby-dev:35094]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@17945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_string.rb | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index f8938cad84..539a5a4623 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -7,6 +7,7 @@ class TestString < Test::Unit::TestCase sum = sum & ((1 << bits) - 1) if bits != 0 assert_equal(sum, str.sum(bits)) end + def test_sum assert_equal(0, "".sum) assert_equal(294, "abc".sum) @@ -16,4 +17,68 @@ class TestString < Test::Unit::TestCase check_sum("xyz", bits) } end + + def test_succ + assert_equal("abd", "abc".succ) + assert_equal("z", "y".succ) + assert_equal("aaa", "zz".succ) + + assert_equal("124", "123".succ) + assert_equal("1000", "999".succ) + + assert_equal("No.10", "No.9".succ) + assert_equal("2000aaa", "1999zzz".succ) + assert_equal("AAAAA000", "ZZZZ999".succ) + assert_equal("*+", "**".succ) + + assert_equal("abce", "abcd".succ) + assert_equal("THX1139", "THX1138".succ) + assert_equal("<<koalb>>", "<<koala>>".succ) + assert_equal("2000aaa", "1999zzz".succ) + assert_equal("AAAA0000", "ZZZ9999".succ) + assert_equal("**+", "***".succ) + end + + def test_succ! + a = "abc" + b = a.dup + assert_equal("abd", a.succ!) + assert_equal("abd", a) + assert_equal("abc", b) + + a = "y" + assert_equal("z", a.succ!) + assert_equal("z", a) + + a = "zz" + assert_equal("aaa", a.succ!) + assert_equal("aaa", a) + + a = "123" + assert_equal("124", a.succ!) + assert_equal("124", a) + + a = "999" + assert_equal("1000", a.succ!) + assert_equal("1000", a) + + a = "1999zzz" + assert_equal("2000aaa", a.succ!) + assert_equal("2000aaa", a) + + a = "ZZZZ999" + assert_equal("AAAAA000", a.succ!) + assert_equal("AAAAA000", a) + + a = "**" + assert_equal("*+", a.succ!) + assert_equal("*+", a) + + a = "No.9" + assert_equal("No.10", a.succ!) + assert_equal("No.10", a) + + assert_equal("aaaaaaaaaaaa", "zzzzzzzzzzz".succ!) + assert_equal("aaaaaaaaaaaaaaaaaaaaaaaa", "zzzzzzzzzzzzzzzzzzzzzzz".succ!) + end end |
