[前][次][番号順一覧][スレッド一覧]

ruby-changes:17523

From: knu <ko1@a...>
Date: Mon, 18 Oct 2010 13:26:28 +0900 (JST)
Subject: [ruby-changes:17523] Ruby:r29528 (trunk): * ext/digest/digest.c (rb_digest_class_init): Define

knu	2010-10-18 13:26:06 +0900 (Mon, 18 Oct 2010)

  New Revision: 29528

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29528

  Log:
    * ext/digest/digest.c (rb_digest_class_init): Define
      Digest::Class.new(). [Feature #3954]

  Modified files:
    trunk/ChangeLog
    trunk/ext/digest/digest.c
    trunk/test/digest/test_digest.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29527)
+++ ChangeLog	(revision 29528)
@@ -1,3 +1,8 @@
+Mon Oct 18 13:18:01 2010  Akinori MUSHA  <knu@i...>
+
+	* ext/digest/digest.c (rb_digest_class_init): Define
+	  Digest::Class.new(). [Feature #3954]
+
 Mon Oct 18 12:00:12 2010  NARUSE, Yui  <naruse@r...>
 
 	* pack.c (pack_pack): Add native size option ! to q and Q.
Index: ext/digest/digest.c
===================================================================
--- ext/digest/digest.c	(revision 29527)
+++ ext/digest/digest.c	(revision 29528)
@@ -415,6 +415,13 @@
     return hexencode_str_new(rb_funcall2(klass, id_digest, argc, argv));
 }
 
+/* :nodoc: */
+static VALUE
+rb_digest_class_init(VALUE self)
+{
+    return self;
+}
+
 /*
  * Document-class: Digest::Base
  *
@@ -622,6 +629,7 @@
      * class Digest::Class
      */
     rb_cDigest_Class = rb_define_class_under(rb_mDigest, "Class", rb_cObject);
+    rb_define_method(rb_cDigest_Class, "initialize",  rb_digest_class_init, 0);
     rb_include_module(rb_cDigest_Class, rb_mDigest_Instance);
 
     /* class methods */
Index: test/digest/test_digest.rb
===================================================================
--- test/digest/test_digest.rb	(revision 29527)
+++ test/digest/test_digest.rb	(revision 29528)
@@ -17,6 +17,12 @@
   Data1 = "abc"
   Data2 = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
 
+  def test_s_new
+    self.class::DATA.each do |str, hexdigest|
+      assert_raise(ArgumentError) { self.class::ALGO.new("") }
+    end
+  end
+
   def test_s_hexdigest
     self.class::DATA.each do |str, hexdigest|
       assert_equal(hexdigest, self.class::ALGO.hexdigest(str))

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]