A subtype should not ignore the parent type name. It should do
Dave Rolsky [Wed, 28 Jan 2009 18:47:23 +0000 (18:47 +0000)]
_something_ (and we've decided it will auto-vivify as a class type
constraint).

t/040_type_constraints/031_subtype_auto_vivify_parent.t [new file with mode: 0644]

diff --git a/t/040_type_constraints/031_subtype_auto_vivify_parent.t b/t/040_type_constraints/031_subtype_auto_vivify_parent.t
new file mode 100644 (file)
index 0000000..9f446d6
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More 'no_plan';
+
+use Moose::Util::TypeConstraints;
+
+
+{
+    package Foo;
+
+    sub new {
+        my $class = shift;
+
+        return bless {@_}, $class;
+    }
+}
+
+subtype 'FooWithSize'
+    => as 'Foo'
+    => where { $_[0]->{size} };
+
+
+my $type = find_type_constraint('FooWithSize');
+ok( $type,         'made a FooWithSize constraint' );
+ok( $type->parent, 'type has a parent type' );
+is( $type->parent->name, 'Foo', 'parent type is Foo' );
+isa_ok( $type->parent, 'Moose::Meta::TypeConstraint::Class',
+        'parent type constraint is a class type' );