diff options
author | Rafael Kitover <rkitover@cpan.org> | 2010-07-12 19:50:26 -0400 |
---|---|---|
committer | Rafael Kitover <rkitover@cpan.org> | 2010-07-12 19:50:26 -0400 |
commit | 6b46d35cfcd9245e887dbbf8de83fbd63dbbf224 (patch) | |
tree | 36801f4bc50a9a1662f619ada26b6b3cc780519a | |
parent | e11e714d5ceb9e4b47ced0e56730c95705f0bc9f (diff) | |
download | mx-alwayscoerce-6b46d35cfcd9245e887dbbf8de83fbd63dbbf224.tar.gz mx-alwayscoerce-6b46d35cfcd9245e887dbbf8de83fbd63dbbf224.zip |
add failing tests for types without coercion, add Schwern to CONTRIBUTORS
-rw-r--r-- | lib/MooseX/AlwaysCoerce.pm | 4 | ||||
-rw-r--r-- | t/01-basic.t | 14 |
2 files changed, 17 insertions, 1 deletions
diff --git a/lib/MooseX/AlwaysCoerce.pm b/lib/MooseX/AlwaysCoerce.pm index fbb1e1f..b82c423 100644 --- a/lib/MooseX/AlwaysCoerce.pm +++ b/lib/MooseX/AlwaysCoerce.pm @@ -93,6 +93,10 @@ sub init_meta { Rafael Kitover, C<< <rkitover at cpan.org> >> +=head1 CONTRIBUTORS + +Schwern: Michael G. Schwern <mschwern@cpan.org> + =head1 BUGS Please report any bugs or feature requests to C<bug-moosex-alwayscoerce at rt.cpan.org>, or through diff --git a/t/01-basic.t b/t/01-basic.t index 1f7f3b1..bfe227c 100644 --- a/t/01-basic.t +++ b/t/01-basic.t @@ -2,7 +2,7 @@ use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 7; { package MyClass; @@ -13,6 +13,8 @@ use Test::More tests => 5; subtype 'MyType', as 'Int'; coerce 'MyType', from 'Str', via { length $_ }; + subtype 'Uncoerced', as 'Int'; + has foo => (is => 'rw', isa => 'MyType'); class_has bar => (is => 'rw', isa => 'MyType'); @@ -20,6 +22,10 @@ use Test::More tests => 5; class_has baz => (is => 'rw', isa => 'MyType', coerce => 0); has quux => (is => 'rw', isa => 'MyType', coerce => 0); + + has uncoerced_attr => (is => 'rw', isa => 'Uncoerced'); + + class_has uncoerced_class_attr => (is => 'rw', isa => 'Uncoerced'); } ok( (my $instance = MyClass->new), 'instance' ); @@ -37,3 +43,9 @@ undef $@; eval { $instance->quux('mtfnpy') }; ok( $@, 'attribute coercion did not run with coerce => 0' ); + +eval { $instance->uncoerced_attr(10) }; +is $@, "", 'set attribute having type with no coercion and no coerce=0'; + +eval { $instance->uncoerced_class_attr(10) }; +is $@, "", 'set class attribute having type with no coercion and no coerce=0'; |