updated dependents test
[gitmo/Moo.git] / t / accessor-coerce.t
index 7533ada..4288b97 100644 (file)
@@ -94,7 +94,7 @@ run_for 'Baz';
   );
 }
 
-like exception { Biff->new(plus_three => 1) }, qr/could not add three!/, 'Exception properly thrown';
+like exception { Biff->new(plus_three => 1) }, qr/coercion for "plus_three" failed: could not add three!/, 'Exception properly thrown';
 
 {
   package Foo2;
@@ -168,5 +168,38 @@ run_with_default_for 'Baz2';
 
 like exception { Biff2->new() }, qr/could not add three!/, 'Exception properly thrown';
 
+{
+  package Foo3;
+
+  use Moo;
+
+  has plus_three => (
+    is => 'rw',
+    default => sub { 1 },
+    coerce => sub { $_[0] + 3 },
+    lazy => 1,
+  );
+}
+
+run_with_default_for 'Foo3';
+
+{
+  package Bar3;
+
+  use Sub::Quote;
+  use Moo;
+
+  has plus_three => (
+    is => 'rw',
+    default => sub { 1 },
+    coerce => quote_sub(q{
+      my ($x) = @_;
+      $x + 3
+    }),
+    lazy => 1,
+  );
+}
+
+run_with_default_for 'Bar3';
 
 done_testing;