bug fixed: BUILD method doesn't works
Tokuhiro Matsuno [Thu, 4 Dec 2008 16:11:27 +0000 (16:11 +0000)]
lib/Mouse/Meta/Method/Constructor.pm
t/800_shikabased/003-make_immutable.t

index aee0a7f..77cced9 100644 (file)
@@ -160,7 +160,7 @@ sub _generate_BUILDALL {
     no strict 'refs';
     for my $klass ($meta->linearized_isa) {
         if (*{ $klass . '::BUILD' }{CODE}) {
-            push  @code, qq{${klass}::BUILD->(\$instance, \$args);};
+            push  @code, qq{${klass}::BUILD(\$instance, \$args);};
         }
     }
     return join "\n", @code;
index 189a5b2..28ebaff 100644 (file)
@@ -1,6 +1,6 @@
 use strict;
 use warnings;
-use Test::More tests => 4;
+use Test::More tests => 6;
 use Test::Exception;
 
 {
@@ -10,6 +10,7 @@ use Test::Exception;
         is => 'rw',
         required => 1,
     );
+    sub BUILD { main::ok "calling BUILD in HardDog" }
     no Mouse;
     __PACKAGE__->meta->make_immutable;
 }
@@ -21,6 +22,7 @@ use Test::Exception;
         is => 'rw',
         required => 1,
     );
+    sub BUILD { main::ok "calling BUILD in SoftDog" }
     no Mouse;
 }