Revert an earlier change (from master) so that we never try to call ->coerce on a...
Dave Rolsky [Mon, 19 Jul 2010 17:00:10 +0000 (12:00 -0500)]
The new tests aren't done.

t/100_bugs/030_coerce_without_coercion.t [new file with mode: 0644]

diff --git a/t/100_bugs/030_coerce_without_coercion.t b/t/100_bugs/030_coerce_without_coercion.t
new file mode 100644 (file)
index 0000000..413c965
--- /dev/null
@@ -0,0 +1,32 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Exception;
+use Test::Moose;
+
+{
+    package Foo;
+
+    use Moose::Deprecated -api_version => '1.08';
+    use Moose;
+
+    has x => (
+        is     => 'rw',
+        isa    => 'HashRef',
+        coerce => 1,
+    );
+}
+
+with_immutable {
+    lives_ok { Foo->new( x => {} ) }
+    'Setting coerce => 1 without a coercion on the type does not cause an error in the constructor';
+
+    lives_ok { Foo->new->x( {} ) }
+    'Setting coerce => 1 without a coercion on the type does not cause an error when setting the attribut';
+
+    lives_ok { Foo->new( x => 42 ) } 'asasf';
+}
+'Foo';
+
+done_testing;