summaryrefslogtreecommitdiffstats
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
commit23a8af8a6f43224f469fc5d6faf340830c91fb52 (patch)
tree3b492eb9f2984937aebd835e336f6c6a7c899038
parent1a4c0dae2a5681c50aa49a96cfbe1d4e6de9f12b (diff)
downloadruby-23a8af8a6f43224f469fc5d6faf340830c91fb52.tar.gz
ruby-23a8af8a6f43224f469fc5d6faf340830c91fb52.tar.xz
ruby-23a8af8a6f43224f469fc5d6faf340830c91fb52.zip
This commit was manufactured by cvs2svn to create branch 'ruby_1_8'.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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 000000000..0ce33fdf1
--- /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