X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F04-parameterized-roles.t;h=af8b6ea9d57589ba3d33bc587662219b97ec3766;hb=2edacc3fd6ce9b315c9ddd43fd4a6eb7edbdd092;hp=b7b61825de09b03f299959dd7f0547b3c8e7cb4d;hpb=f2dec73df5a5b1eafeb7d39cbf5d775b29795cfb;p=gitmo%2FMooseX-AlwaysCoerce.git diff --git a/t/04-parameterized-roles.t b/t/04-parameterized-roles.t index b7b6182..af8b6ea 100644 --- a/t/04-parameterized-roles.t +++ b/t/04-parameterized-roles.t @@ -3,16 +3,19 @@ use strict; use warnings; use Test::More; -use Test::Exception; +use Test::Fatal; use Test::Requires { - 'MooseX::Role::Parameterized' => 0.01, + 'MooseX::Role::Parameterized' => 0.25, }; +plan tests => 12; +use Test::NoWarnings; + eval <<'EOF'; package Role; - use MooseX::Role::Parameterized; - use MooseX::ClassAttribute; + use MooseX::Role::Parameterized 0.25; + use MooseX::ClassAttribute 0.24; use MooseX::AlwaysCoerce; use Moose::Util::TypeConstraints; @@ -45,47 +48,43 @@ eval <<'EOF'; EOF -plan tests => 10; -eval 'use Test::NoWarnings'; ok( (my $instance = MyClass->new), 'instance' ); { local $TODO = 'waiting on Moose changes for role support, and ClassAttribute changes for paramterized role support'; - lives_and { + is( exception { $instance->foo('bar'); is $instance->foo, 3; - } 'attribute coercion ran'; + }, undef, 'attribute coercion ran' ); - lives_and { + is( exception { $instance->bar('baz'); is $instance->bar, 3; - } 'class attribute coercion ran'; + }, undef, 'class attribute coercion ran' ); - dies_ok { $instance->baz('quux') } - 'class attribute coercion did not run with coerce => 0'; + isnt( exception { $instance->baz('quux') }, undef, 'class attribute coercion did not run with coerce => 0' ); - dies_ok { $instance->quux('mtfnpy') } - 'attribute coercion did not run with coerce => 0'; + isnt( exception { $instance->quux('mtfnpy') }, undef, 'attribute coercion did not run with coerce => 0' ); - lives_and { + is( exception { $instance->uncoerced_attr(10); is $instance->uncoerced_attr(10), 10; - } 'set attribute having type with no coercion and no coerce=0'; + }, undef, 'set attribute having type with no coercion and no coerce=0' ); - lives_and { + is( exception { $instance->uncoerced_class_attr(10); is $instance->uncoerced_class_attr(10), 10; - } 'set class attribute having type with no coercion and no coerce=0'; + }, undef, 'set class attribute having type with no coercion and no coerce=0' ); - lives_and { + is( exception { $instance->untyped_attr(10); is $instance->untyped_attr, 10; - } 'set untyped attribute'; + }, undef, 'set untyped attribute' ); - lives_and { + is( exception { $instance->untyped_class_attr(10); is $instance->untyped_class_attr, 10; - } 'set untyped class attribute'; + }, undef, 'set untyped class attribute' ); }