From 6b46d35cfcd9245e887dbbf8de83fbd63dbbf224 Mon Sep 17 00:00:00 2001 From: Rafael Kitover Date: Mon, 12 Jul 2010 19:50:26 -0400 Subject: add failing tests for types without coercion, add Schwern to CONTRIBUTORS --- lib/MooseX/AlwaysCoerce.pm | 4 ++++ t/01-basic.t | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) 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<< >> +=head1 CONTRIBUTORS + +Schwern: Michael G. Schwern + =head1 BUGS Please report any bugs or feature requests to C, 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'; -- cgit v1.2.3