8000 * test/digest/test_digest_extend.rb: Added tests for current … · devrandom/ruby@e3f1c21 · GitHub
[go: up one dir, main page]

Skip to content

Commit e3f1c21

Browse files
author
nahi
committed
* 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
1 parent 07d6813 commit e3f1c21

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed

ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
Thu Nov 26 00:05:58 2009 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
2+
3+
* test/digest/test_digest_extend.rb: Added tests for current digest
4+
framework.
5+
16
Wed Nov 25 20:46:37 2009 Tanaka Akira <akr@fsij.org>
27

38
* vm_eval.c (rb_search_method_entry): refine error message.

test/digest/test_digest_extend.rb

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
require 'test/unit'
2+
require 'digest'
3+
4+
class TestDigestExtend < Test::Unit::TestCase
5+
class MyDigest < Digest::Class
6+
def initialize(*arg)
7+
super
8+
@buf = []
9+
end
10+
11+
def update(arg)
12+
@buf << arg
13+
self
14+
end
15+
16+
alias << update
17+
18+
def finish
19+
(@buf.join.length % 256).chr
20+
end
21+
22+
def reset
23+
@buf.clear
24+
self
25+
end
26+
end
27+
28+
def test_digest
29+
assert_equal("\3", MyDigest.digest("foo"))
30+
end
31+
32+
def test_hexdigest
33+
assert_equal("03", MyDigest.hexdigest("foo"))
34+
end
35+
36+
def test_context
37+
digester = MyDigest.new
38+
digester.update("foo")
39+
assert_equal("\3", digester.digest)
40+
digester.update("foobar")
41+
assert_equal("\6", digester.digest)
42+
digester.update("foo")
43+
assert_equal("\3", digester.digest)
44+
end
45+
46+
def test_to_s
47+
digester = MyDigest.new
48+
digester.update("foo")
49+
assert_equal("03", digester.to_s)
50+
end
51+
52+
def test_digest_length # breaks MyDigest#digest_length
53+
assert_equal(1, MyDigest.new.digest_length)
54+
MyDigest.class_eval do
55+
def digest_length
56+
2
57+
end
58+
end
59+
assert_equal(2, MyDigest.new.digest_length)
60+
end
61+
62+
def test_block_length
63+
assert_raises(RuntimeError) do
64+
MyDigest.new.block_length
65+
end
66+
end
67+
end

0 commit comments

Comments
 (0)
0