use strict;
use warnings;
+use lib 't/lib';
+
use Test::More tests => 11;
use Test::Exception;
use Scalar::Util 'blessed';
use Moose::Util::TypeConstraints;
+use MetaTest;
+
subtype 'Positive'
=> as 'Num'
=> where { $_ > 0 };
is($foo->lazy_classname, 'Parent', "lazy attribute initialized");
lives_ok { $foo->type_constrained(10.5) } "Num type constraint for now..";
-# try to rebless, except it will fail due to Child's stricter type constraint
-throws_ok { Child->meta->rebless_instance($foo) }
-qr/^Attribute \(type_constrained\) does not pass the type constraint because\: Validation failed for 'Int' failed with value 10\.5/,
-'... this failed cause of type check';
-throws_ok { Child->meta->rebless_instance($bar) }
-qr/^Attribute \(type_constrained\) does not pass the type constraint because\: Validation failed for 'Int' failed with value 5\.5/,
-'... this failed cause of type check';;
+skip_meta {
+ # try to rebless, except it will fail due to Child's stricter type constraint
+ throws_ok { Child->meta->rebless_instance($foo) }
+ qr/^Attribute \(type_constrained\) does not pass the type constraint because\: Validation failed for 'Int' failed with value 10\.5/,
+ '... this failed cause of type check';
+ throws_ok { Child->meta->rebless_instance($bar) }
+ qr/^Attribute \(type_constrained\) does not pass the type constraint because\: Validation failed for 'Int' failed with value 5\.5/,
+ '... this failed cause of type check';;
+} 2;
$foo->type_constrained(10);
$bar->type_constrained(5);
-Child->meta->rebless_instance($foo);
-Child->meta->rebless_instance($bar);
-
-is(blessed($foo), 'Child', 'successfully reblessed into Child');
-is($foo->name, 'Junior', "Child->name's default came through");
+skip_meta {
+ Child->meta->rebless_instance($foo);
+ Child->meta->rebless_instance($bar);
+ is(blessed($foo), 'Child', 'successfully reblessed into Child');
+ is($foo->name, 'Junior', "Child->name's default came through");
+ is($foo->lazy_classname, 'Parent', "lazy attribute was already initialized");
+ is($bar->lazy_classname, 'Child', "lazy attribute just now initialized");
-is($foo->lazy_classname, 'Parent', "lazy attribute was already initialized");
-is($bar->lazy_classname, 'Child', "lazy attribute just now initialized");
+ throws_ok { $foo->type_constrained(10.5) }
+} 7;
-throws_ok { $foo->type_constrained(10.5) }
qr/^Attribute \(type_constrained\) does not pass the type constraint because\: Validation failed for 'Int' failed with value 10\.5/,
'... this failed cause of type check';