summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
author(no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-03 06:03:26 +0000
committer(no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-03 06:03:26 +0000
commit5973eda6331152a66075f6eb457d4da77bb82648 (patch)
tree3b492eb9f2984937aebd835e336f6c6a7c899038 /test/ruby
parentf45c0ee5f9e2d4cd52c3f74857fcf3779b44b3b7 (diff)
This commit was manufactured by cvs2svn to create branch 'ruby_1_8'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_string.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb
new file mode 100644
index 0000000000..0ce33fdf19
--- /dev/null
+++ b/test/ruby/test_string.rb
@@ -0,0 +1,19 @@
+require 'test/unit'
+
+class TestString < Test::Unit::TestCase
+ def check_sum(str, bits=16)
+ sum = 0
+ str.each_byte {|c| sum += c}
+ 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)
+ check_sum("abc")
+ check_sum("\x80")
+ 8.upto(70) {|bits|
+ check_sum("xyz", bits)
+ }
+ end
+end