Switch to 2-space indent, minor formatting (no code) changes
[p5sagit/Class-Accessor-Grouped.git] / t / component.t
index 0cdcac2..a86b515 100644 (file)
@@ -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);