diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-25 15:08:06 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-25 15:08:06 +0000 |
commit | c7b0dbd002b3f5fcf3f6a5cf45f4cc877830da15 (patch) | |
tree | b5483712cbeb4309d6f6b994f8dc5d25807fee39 | |
parent | fe976467437ade210d7b405614f8b8ac37aa31d7 (diff) |
* test/digest/test_digest_extend.rb: Added tests for current digest
framework.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | test/digest/test_digest_extend.rb | 67 |
2 files changed, 72 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Thu Nov 26 00:05:58 2009 NAKAMURA, Hiroshi <[email protected]> + + * test/digest/test_digest_extend.rb: Added tests for current digest + framework. + Wed Nov 25 20:46:37 2009 Tanaka Akira <[email protected]> * vm_eval.c (rb_search_method_entry): refine error message. diff --git a/test/digest/test_digest_extend.rb b/test/digest/test_digest_extend.rb new file mode 100644 index 0000000000..9b2e59cdf0 --- /dev/null +++ b/test/digest/test_digest_extend.rb @@ -0,0 +1,67 @@ +require 'test/unit' +require 'digest' + +class TestDigestExtend < Test::Unit::TestCase + class MyDigest < Digest::Class + def initialize(*arg) + super + @buf = [] + end + + def update(arg) + @buf << arg + self + end + + alias << update + + def finish + (@buf.join.length % 256).chr + end + + def reset + @buf.clear + self + end + end + + def test_digest + assert_equal("\3", MyDigest.digest("foo")) + end + + def test_hexdigest + assert_equal("03", MyDigest.hexdigest("foo")) + end + + def test_context + digester = MyDigest.new + digester.update("foo") + assert_equal("\3", digester.digest) + digester.update("foobar") + assert_equal("\6", digester.digest) + digester.update("foo") + assert_equal("\3", digester.digest) + end + + def test_to_s + digester = MyDigest.new + digester.update("foo") + assert_equal("03", digester.to_s) + end + + def test_digest_length # breaks MyDigest#digest_length + assert_equal(1, MyDigest.new.digest_length) + MyDigest.class_eval do + def digest_length + 2 + end + end + assert_equal(2, MyDigest.new.digest_length) + end + + def test_block_length + assert_raises(RuntimeError) do + MyDigest.new.block_length + end + end +end |