closer to the sketch actually working
John Napiorkowski [Sun, 16 Nov 2008 22:46:18 +0000 (22:46 +0000)]
t/09-optional.t

index 5905c4a..5380b0b 100755 (executable)
@@ -6,7 +6,7 @@ use Moose::Util::TypeConstraints;
 use Moose::Meta::TypeConstraint::Parameterizable;
 use Moose;
 
-
+## Sketch for how this could work
 ok my $Optional = Moose::Meta::TypeConstraint::Parameterizable->new(
        name => 'Optional',
        package_defined_in => __PACKAGE__,
@@ -28,25 +28,20 @@ ok my $Optional = Moose::Meta::TypeConstraint::Parameterizable->new(
        }
 );
 
+Moose::Util::TypeConstraints::register_type_constraint($Optional);
 Moose::Util::TypeConstraints::add_parameterizable_type($Optional);
-use Data::Dump qw/dump/;
-
-    foreach my $type (Moose::Util::TypeConstraints::get_all_parameterizable_types()) {
-        if (my $constraint = $type->generate_constraint_for($Optional)) {
-            warn 'got this FARRRRRR..........................................';           
-        }
-    }
-
-
+## END SKETCH
 
 isa_ok $Optional, 'Moose::Meta::TypeConstraint::Parameterizable';
 
-ok my $int = find_type_constraint('Int') => 'Got Int';
-ok my $arrayref = find_type_constraint('ArrayRef[Int]') => 'Got ArrayRef[Int]';
+ok my $int = Moose::Util::TypeConstraints::find_or_parse_type_constraint('Int')
+ => 'Got Int';
 
-ok my $Optional_Int = $Optional->parameterize($int);
-ok my $Optional_ArrayRef = $Optional->parameterize($arrayref);
+ok my $arrayref = Moose::Util::TypeConstraints::find_or_parse_type_constraint('ArrayRef[Int]')
+ => 'Got ArrayRef[Int]';
 
+ok my $Optional_Int = $Optional->parameterize($int), 'Parameterized Int';
+ok my $Optional_ArrayRef = $Optional->parameterize($arrayref), 'Parameterized ArrayRef';
 
 ok $Optional_Int->check() => 'Optional is allowed to not exist';
 ok !$Optional_Int->check(undef) => 'Optional is NOT allowed to be undef';