Fix tests on undoublefailed Moose versions
[gitmo/MooseX-Types-Structured.git] / t / bug-optional.t
index 301de29..431c65f 100644 (file)
@@ -9,11 +9,14 @@ BEGIN {
     use MooseX::Types -declare => [qw(
         Signature
         MyDict
+        MyTuple
     )];
 
     subtype Signature, as Tuple[Tuple[Object], Dict[optional => Optional[Any], required => Any]];
 
     subtype MyDict, as Dict[optional => Optional[Any], required => Any];
+
+    subtype MyTuple, as Tuple[Object, Any, Optional[Any]];
 }
 
 BEGIN {
@@ -30,4 +33,11 @@ ok(!MyDict->check({ required => 42, unknown => 23 }));
 ok(MyDict->check({ optional => 42, required => 23 }));
 ok(MyDict->check({ required => 23 }));
 
+ok(!MyTuple->check([]));
+ok(!MyTuple->check([bless({}, 'Foo')]));
+ok(!MyTuple->check([bless({}, 'Foo'), 'bar', 'baz', 'moo']));
+
+ok(MyTuple->check([bless({}, 'Foo'), 'bar']));
+ok(MyTuple->check([bless({}, 'Foo'), 'bar', 'baz']));
+
 done_testing;