Commit | Line | Data |
874177a3 |
1 | use Test::More tests => 8; |
331e820d |
2 | use strict; |
3 | use warnings; |
4 | use lib 't/lib'; |
5 | use Class::Inspector; |
6 | use AccessorGroups; |
7 | |
8 | is(AccessorGroups->result_class, undef); |
9 | |
874177a3 |
10 | ## croak on set where class can't be loaded and it's a physical class |
331e820d |
11 | my $dying = AccessorGroups->new; |
12 | eval { |
874177a3 |
13 | $dying->result_class('NotReallyAClass'); |
331e820d |
14 | }; |
874177a3 |
15 | ok($@ =~ /Could not load result_class 'NotReallyAClass'/); |
331e820d |
16 | is($dying->result_class, undef); |
17 | |
874177a3 |
18 | |
19 | ## don't croak when the class isn't available but not loaded for people |
20 | ## who create class/packages on the fly |
21 | $dying->result_class('JunkiesNeverInstalled'); |
22 | is($dying->result_class, 'JunkiesNeverInstalled'); |
23 | |
331e820d |
24 | ok(!Class::Inspector->loaded('BaseInheritedGroups')); |
25 | AccessorGroups->result_class('BaseInheritedGroups'); |
26 | ok(Class::Inspector->loaded('BaseInheritedGroups')); |
27 | is(AccessorGroups->result_class, 'BaseInheritedGroups'); |
28 | |
29 | ## unset it |
30 | AccessorGroups->result_class(undef); |
31 | is(AccessorGroups->result_class, undef); |