Add failing! tests to ArrayRef[Int] + auto_deref
Shawn M Moore [Fri, 28 Dec 2007 22:49:17 +0000 (22:49 +0000)]
t/040_type_constraints/011_container_type_constraint.t

index 32b3430..829d96f 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 22;
+use Test::More tests => 25;
 use Test::Exception;
 
 BEGIN {    
@@ -64,3 +64,21 @@ ok(!$array_of_array_of_ints->check(
     [[ 1, 2, 3 ], [ qw/foo bar/ ]]
 ), '... [[ 1, 2, 3 ], [ qw/foo bar/ ]] failed successfully');
 
+{
+    package AutoDeref;
+    use Moose;
+    use Moose::Util::TypeConstraints;
+
+    has 'bar' => (
+        is         => 'rw',
+        isa        => 'ArrayRef[Int]',
+        auto_deref => 1,
+    );
+}
+
+my $autoderef = AutoDeref->new;
+lives_ok  { $autoderef->bar(1, 2, 3) };
+is_deeply [ $autoderef->bar ], [1, 2, 3];
+
+dies_ok   { $autoderef->bar(1, "foo", 3) };
+