6 use Test::More tests => 12;
10 BEGIN { use_ok("Catalyst::Utils") };
13 package This::Module::Is::Not::In::Inc::But::Does::Exist;
18 $SIG{__WARN__} = sub { $warnings++ };
20 ok( !Class::Inspector->loaded("TestApp::View::Dump"), "component not yet loaded" );
22 Catalyst::Utils::ensure_class_loaded("TestApp::View::Dump");
24 ok( Class::Inspector->loaded("TestApp::View::Dump"), "loaded ok" );
25 is( $warnings, 0, "no warnings emitted" );
29 Catalyst::Utils::ensure_class_loaded("TestApp::View::Dump");
30 is( $warnings, 0, "calling again doesn't reaload" );
32 ok( !Class::Inspector->loaded("TestApp::View::Dump::Request"), "component not yet loaded" );
34 Catalyst::Utils::ensure_class_loaded("TestApp::View::Dump::Request");
35 ok( Class::Inspector->loaded("TestApp::View::Dump::Request"), "loaded ok" );
37 is( $warnings, 0, "calling again doesn't reaload" );
40 eval { Catalyst::Utils::ensure_class_loaded("This::Module::Is::Probably::Not::There") };
41 ok( $@, "doesn't defatalize" );
42 like( $@, qr/There\.pm.*\@INC/, "error looks right" );
45 Catalyst::Utils::ensure_class_loaded("TestApp::View::Dump::Response");
46 is( $@, "foo", '$@ is untouched' );
49 eval { Catalyst::Utils::ensure_class_loaded("This::Module::Is::Not::In::Inc::But::Does::Exist") };
50 ok( !$@, "no error when loading non existent .pm that *does* have a symbol table entry" );