Fix an error message to compatible with Moose
Fuji, Goro [Wed, 10 Nov 2010 06:12:11 +0000 (15:12 +0900)]
lib/Mouse/PurePerl.pm
t/001_mouse/011-lazy.t
xs-src/MouseAttribute.xs

index c287ee4..d9626b1 100644 (file)
@@ -589,7 +589,7 @@ sub _process_options{
 
     if ($args->{lazy}) {
         (exists $args->{default} || defined $args->{builder})
-            || $class->throw_error("You cannot have lazy attribute ($name) without specifying a default value for it");
+            || $class->throw_error("You cannot have a lazy attribute ($name) without specifying a default value for it");
     }
 
     return;
index df584b1..d9b0863 100644 (file)
@@ -2,7 +2,6 @@
 use strict;
 use warnings;
 use Test::More;
-use Test::Exception;
 
 my $lazy_run = 0;
 
@@ -22,12 +21,13 @@ do {
         default => "welp",
     );
 
-    ::throws_ok {
+    eval {
         has lazy_no_default => (
             is   => 'rw',
             lazy => 1,
         );
-    } qr/You cannot have lazy attribute \(lazy_no_default\) without specifying a default value for it/;
+    };
+    ::like $@, qr/You cannot have a lazy attribute \(lazy_no_default\) without specifying a default value for it/;
 };
 
 my $object = Class->new;
index 5e20e92..7a453fd 100644 (file)
@@ -476,7 +476,7 @@ CODE:
     if(svp && sv_true(*svp)){
         if(!(has_default || has_builder)){
             mouse_throw_error(klass, NULL,
-                "You cannot have lazy attribute (%"SVf") without specifying "
+                "You cannot have a lazy attribute (%"SVf") without specifying "
                 "a default value for it", name);
         }
     }