summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-07 15:23:01 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-07 15:23:01 +0000
commitf04db2b4cffc548a1e3b0a478ae75b12b24308b3 (patch)
tree194d27846f925141e2a9eca61338d18e630d61ee /test/ruby
parent82fe6d2be5eb5c7dc84a70150e52fb8a42cd5453 (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.rb65
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