Commit | Line | Data |
c037c03a |
1 | use Class::Inspector; |
2 | |
3 | BEGIN { |
4 | package TestPackage::A; |
5 | sub some_method {} |
6 | } |
7 | |
8 | sub run_tests { |
9 | |
10 | my $schema = shift; |
11 | plan tests => 6; |
12 | |
13 | ok(Class::Inspector->loaded('TestPackage::A'), |
14 | 'anon. package exists'); |
15 | eval { |
16 | $schema->ensure_class_loaded('TestPackage::A'); |
17 | }; |
18 | |
19 | ok(!$@, 'ensure_class_loaded detected an anon. class'); |
20 | |
21 | eval { |
22 | $schema->ensure_class_loaded('FakePackage::B'); |
23 | }; |
24 | |
25 | like($@, qr/Can't locate/, |
26 | 'ensure_class_loaded threw exception for nonexistent class'); |
27 | |
28 | ok(!Class::Inspector->loaded('DBICTest::FakeComponent'), |
29 | 'DBICTest::FakeComponent not loaded yet'); |
30 | |
31 | eval { |
32 | $schema->ensure_class_loaded('DBICTest::FakeComponent'); |
33 | }; |
34 | |
35 | ok(!$@, 'ensure_class_loaded detected an existing but non-loaded class'); |
36 | ok(Class::Inspector->loaded('DBICTest::FakeComponent'), |
37 | 'DBICTest::FakeComponent now loaded'); |
38 | } |
39 | |
40 | 1; |