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