diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-25 04:47:55 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-25 04:47:55 +0000 |
commit | 7e7ddbe33ca34359d711aee1e0ddebaeb40c2a18 (patch) | |
tree | 2a03e101e7b0302f5dcde62ed415a415ecca041d /t/006-returned-error.t | |
download | Class-Load-tarball-7e7ddbe33ca34359d711aee1e0ddebaeb40c2a18.tar.gz |
Class-Load-0.23HEADClass-Load-0.23master
Diffstat (limited to 't/006-returned-error.t')
-rw-r--r-- | t/006-returned-error.t | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/t/006-returned-error.t b/t/006-returned-error.t new file mode 100644 index 0000000..9601517 --- /dev/null +++ b/t/006-returned-error.t @@ -0,0 +1,48 @@ +use strict; +use warnings; +use Test::More 0.88; +use lib 't/lib'; +use Test::Class::Load ':all'; + +{ + ok(try_load_class('Class::Load::OK'), "loaded class OK"); + my ($r, $e) = try_load_class('Class::Load::OK'); + is($e, undef); +} + +{ + ok(!try_load_class('Class::Load::Nonexistent'), "didn't load class Nonexistent"); + my ($r, $e) = try_load_class('Class::Load::Nonexistent'); + like($e, qr{^Can't locate Class/Load/Nonexistent.pm in \@INC}); +} + +{ + ok(try_load_class('Class::Load::OK'), "loaded class OK"); + my ($r, $e) = try_load_class('Class::Load::OK'); + is($e, undef); +} + +{ + ok(!try_load_class('Class::Load::SyntaxError'), "didn't load class SyntaxError"); + delete $INC{'Class/Load/SyntaxError.pm'}; + my ($r, $e) = try_load_class('Class::Load::SyntaxError'); + like($e, qr{^Missing right curly or square bracket at }); +} + +ok(is_class_loaded('Class::Load::OK')); +ok(!is_class_loaded('Class::Load::Nonexistent')); +ok(!is_class_loaded('Class::Load::SyntaxError')); + +{ + $@ = "foo"; + ok(try_load_class('Class::Load::OK'), "loaded class OK"); + is($@, "foo"); +} + +{ + $@ = "foo"; + ok(!try_load_class('Class::Load::Nonexistent'), "didn't load class Nonexistent"); + is($@, "foo"); +} + +done_testing; |