From: Karen Etheridge Date: Mon, 7 Mar 2011 17:40:40 +0000 (-0800) Subject: converted to Test::Fatal X-Git-Tag: 0.13~3 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=dfab7c8b29f43615983ca90c1c4474554cebfaa6;p=gitmo%2FMooseX-AlwaysCoerce.git converted to Test::Fatal --- diff --git a/Changes b/Changes index 50f1df1..95bd24f 100644 --- a/Changes +++ b/Changes @@ -3,6 +3,7 @@ Revision history for MooseX-AlwaysCoerce {{NEXT} - fixed class attribute and parameterized role TODO tests to work again with the latest MooseX::Role::Parameterized (Karen Etheridge) + - converted tests to Test::Fatal (Karen Etheridge) 0.12 2010-10-08 12:14:54 PDT - ...and again. diff --git a/Makefile.PL b/Makefile.PL index 19185e7..5a68cbf 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -6,7 +6,7 @@ author 'Rafael Kitover '; license 'perl'; test_requires 'Test::More' => '0.94'; -test_requires 'Test::Exception'; +test_requires 'Test::Fatal'; test_requires 'Test::NoWarnings'; test_requires 'Test::Requires'; diff --git a/t/01-basic.t b/t/01-basic.t index fee6ece..f8117ec 100644 --- a/t/01-basic.t +++ b/t/01-basic.t @@ -2,8 +2,8 @@ use strict; use warnings; -use Test::More tests => 10; -use Test::Exception; +use Test::More tests => 16; +use Test::Fatal; use Test::NoWarnings; { @@ -36,38 +36,68 @@ use Test::NoWarnings; ok( (my $instance = MyClass->new), 'instance' ); -lives_and { - $instance->foo('bar'); - is $instance->foo, 3; -} 'attribute coercion ran'; - -lives_and { - $instance->bar('baz'); - is $instance->bar, 3; -} 'class attribute coercion ran'; - -dies_ok { $instance->baz('quux') } - 'class attribute coercion did not run with coerce => 0'; - -dies_ok { $instance->quux('mtfnpy') } - 'attribute coercion did not run with coerce => 0'; - -lives_and { - $instance->uncoerced_attr(10); - is $instance->uncoerced_attr(10), 10; -} 'set attribute having type with no coercion and no coerce=0'; - -lives_and { - $instance->uncoerced_class_attr(10); - is $instance->uncoerced_class_attr(10), 10; -} 'set class attribute having type with no coercion and no coerce=0'; - -lives_and { - $instance->untyped_attr(10); - is $instance->untyped_attr, 10; -} 'set untyped attribute'; - -lives_and { - $instance->untyped_class_attr(10); - is $instance->untyped_class_attr, 10; -} 'set untyped class attribute'; +is( + exception { + $instance->foo('bar'); + is $instance->foo, 3; + }, + undef, + 'attribute coercion ran', +); + +is( + exception { + $instance->bar('baz'); + is $instance->bar, 3; + }, + undef, + 'class attribute coercion ran', +); + +isnt( + exception { $instance->baz('quux') }, + undef, + 'class attribute coercion did not run with coerce => 0', +); + +isnt( + exception{ $instance->quux('mtfnpy') }, + undef, + 'attribute coercion did not run with coerce => 0', +); + +is( + exception { + $instance->uncoerced_attr(10); + is $instance->uncoerced_attr(10), 10; + }, + undef, + 'set attribute having type with no coercion and no coerce=0', +); + +is( + exception { + $instance->uncoerced_class_attr(10); + is $instance->uncoerced_class_attr(10), 10; + }, + undef, + 'set class attribute having type with no coercion and no coerce=0', +); + +is( + exception { + $instance->untyped_attr(10); + is $instance->untyped_attr, 10; + }, + undef, + 'set untyped attribute', +); + +is( + exception { + $instance->untyped_class_attr(10); + is $instance->untyped_class_attr, 10; + }, + undef, + 'set untyped class attribute', +); diff --git a/t/02-mx-m-s.t b/t/02-mx-m-s.t index 083535b..9b36d77 100644 --- a/t/02-mx-m-s.t +++ b/t/02-mx-m-s.t @@ -8,7 +8,7 @@ use Test::Requires { 'MooseX::Method::Signatures' => 0.01, }; -use Test::Exception; +use Test::Fatal; use Test::NoWarnings; { @@ -35,7 +35,7 @@ ok( (my $instance = MyClass->new), 'instance' ); TODO: { local $TODO = 'need rafl to help with implementation'; - lives_and { + is( exception { is $instance->foo(foo => "text", bar => 42), '4 42'; - } 'method called with coerced and uncoerced parameters'; + }, undef, 'method called with coerced and uncoerced parameters' ); } diff --git a/t/03-roles.t b/t/03-roles.t index 88c87d6..271e79f 100644 --- a/t/03-roles.t +++ b/t/03-roles.t @@ -2,8 +2,8 @@ use strict; use warnings; -use Test::More tests => 10; -use Test::Exception; +use Test::More tests => 15; +use Test::Fatal; use Test::NoWarnings; { @@ -45,39 +45,37 @@ ok( (my $instance = MyClass->new), 'instance' ); { local $TODO = 'waiting on Moose changes for 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' ); diff --git a/t/04-parameterized-roles.t b/t/04-parameterized-roles.t index b7b6182..eda445d 100644 --- a/t/04-parameterized-roles.t +++ b/t/04-parameterized-roles.t @@ -3,7 +3,7 @@ use strict; use warnings; use Test::More; -use Test::Exception; +use Test::Fatal; use Test::Requires { 'MooseX::Role::Parameterized' => 0.01, @@ -45,7 +45,7 @@ eval <<'EOF'; EOF -plan tests => 10; +plan tests => 12; eval 'use Test::NoWarnings'; ok( (my $instance = MyClass->new), 'instance' ); @@ -53,39 +53,37 @@ 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' ); }