X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcomponent.t;h=a86b51563d433e1f4b1db26cf4ba08342d8ad81c;hb=ba8c183b7c3d71a5b8fcd936916e80a7b87f7961;hp=0cdcac2b25ccf7ca0c2a47aabbce8e748f037cf7;hpb=331e820d3229ade6282aaaba4c307d7a016e8c73;p=p5sagit%2FClass-Accessor-Grouped.git diff --git a/t/component.t b/t/component.t index 0cdcac2..a86b515 100644 --- a/t/component.t +++ b/t/component.t @@ -1,25 +1,31 @@ -use Test::More tests => 7; +use Test::More tests => 8; +use Test::Exception; use strict; use warnings; use lib 't/lib'; use Class::Inspector; -use AccessorGroups; +use AccessorGroupsComp; -is(AccessorGroups->result_class, undef); +is(AccessorGroupsComp->result_class, undef); -# croak on set where class can't be loaded -my $dying = AccessorGroups->new; -eval { - $dying->result_class('Junkies'); -}; -ok($@ =~ /Could not load result_class 'Junkies'/); +## croak on set where class can't be loaded and it's a physical class +my $dying = AccessorGroupsComp->new; +throws_ok { + $dying->result_class('NotReallyAClass'); +} qr/Could not load result_class 'NotReallyAClass'/; is($dying->result_class, undef); + +## don't croak when the class isn't available but not loaded for people +## who create class/packages on the fly +$dying->result_class('JunkiesNeverInstalled'); +is($dying->result_class, 'JunkiesNeverInstalled'); + ok(!Class::Inspector->loaded('BaseInheritedGroups')); -AccessorGroups->result_class('BaseInheritedGroups'); +AccessorGroupsComp->result_class('BaseInheritedGroups'); ok(Class::Inspector->loaded('BaseInheritedGroups')); -is(AccessorGroups->result_class, 'BaseInheritedGroups'); +is(AccessorGroupsComp->result_class, 'BaseInheritedGroups'); ## unset it -AccessorGroups->result_class(undef); -is(AccessorGroups->result_class, undef); \ No newline at end of file +AccessorGroupsComp->result_class(undef); +is(AccessorGroupsComp->result_class, undef);