ruby-changes:14110
From: nahi <ko1@a...>
Date: Thu, 26 Nov 2009 00:05:47 +0900 (JST)
Subject: [ruby-changes:14110] Ruby:r25923 (ruby_1_8): * test/digest/test_digest_extend.rb: Added tests for current digest
nahi 2009-11-26 00:04:44 +0900 (Thu, 26 Nov 2009) New Revision: 25923 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25923 Log: * test/digest/test_digest_extend.rb: Added tests for current digest framework. Added files: branches/ruby_1_8/test/digest/test_digest_extend.rb Modified files: branches/ruby_1_8/ChangeLog Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 25922) +++ ruby_1_8/ChangeLog (revision 25923) @@ -1,3 +1,8 @@ +Thu Nov 26 00:01:58 2009 NAKAMURA, Hiroshi <nahi@r...> + + * test/digest/test_digest_extend.rb: Added tests for current digest + framework. + Wed Nov 25 19:32:25 2009 Akinori MUSHA <knu@i...> * ext/digest/digest.c (rb_digest_instance_method_unimpl): Do not Index: ruby_1_8/test/digest/test_digest_extend.rb =================================================================== --- ruby_1_8/test/digest/test_digest_extend.rb (revision 0) +++ ruby_1_8/test/digest/test_digest_extend.rb (revision 25923) @@ -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 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/