summaryrefslogtreecommitdiff
path: root/t/005-load-optional.t
diff options
context:
space:
mode:
Diffstat (limited to 't/005-load-optional.t')
-rw-r--r--t/005-load-optional.t42
1 files changed, 42 insertions, 0 deletions
diff --git a/t/005-load-optional.t b/t/005-load-optional.t
new file mode 100644
index 0000000..560287a
--- /dev/null
+++ b/t/005-load-optional.t
@@ -0,0 +1,42 @@
+use strict;
+use warnings;
+
+use Test::More 0.88;
+use Test::Fatal;
+use lib 't/lib';
+use Test::Class::Load qw( :all );
+
+is(
+ exception {
+ load_optional_class('Class::Load::OK');
+ },
+ undef,
+ 'No failure loading a good class'
+);
+
+is(
+ exception {
+ load_optional_class('Class::Load::IDONOTEXIST');
+ },
+ undef,
+ 'No failure loading a missing class'
+);
+
+isnt(
+ exception {
+ load_optional_class('Class::Load::SyntaxError');
+ },
+ undef,
+ 'Loading a broken class breaks'
+);
+
+is( load_optional_class('Class::Load::OK'), 1 , 'Existing Class => 1');
+is( load_optional_class('Class::Load::IDONOTEXIST'), 0, 'Missing Class => 0');
+
+is( load_optional_class('Class::Load::VersionCheck'), 1, 'VersionCheck => 1');
+is( load_optional_class('Class::Load::VersionCheck', {-version => 43}), 0,
+ 'VersionCheck (with too-high version) => 0');
+is( load_optional_class('Class::Load::VersionCheck', {-version => 41}), 1,
+ 'VersionCheck (with ok version) => 1');
+
+done_testing;