### Module::Load test suite ###
-BEGIN {
+BEGIN {
if( $ENV{PERL_CORE} ) {
chdir '../lib/Module/Load' if -d '../lib/Module/Load';
unshift @INC, '../../..';
}
-}
+}
BEGIN { chdir 't' if -d 't' }
use strict;
use lib qw[../lib to_load];
use Module::Load;
-use Test::More tests => 13;
-
-
-{
- my $mod = 'Must::Be::Loaded';
- my $file = Module::Load::_to_file($mod,1);
-
- eval { load $mod };
-
- is( $@, '', qq[Loading module '$mod'] );
- ok( defined($INC{$file}), q[... found in %INC] );
-}
-
-{
- my $mod = 'LoadMe.pl';
- my $file = Module::Load::_to_file($mod);
-
- eval { load $mod };
-
- is( $@, '', qq[Loading File '$mod'] );
- ok( defined($INC{$file}), q[... found in %INC] );
-}
-
-{
- my $mod = 'LoadIt';
- my $file = Module::Load::_to_file($mod,1);
+use Test::More 'no_plan';
- eval { load $mod };
+### test loading files & modules
+{ my @Map = (
+ # module flag diagnostic
+ [q|Must::Be::Loaded|, 1, 'module'],
+ [q|LoadMe.pl|, 0, 'file' ],
+ [q|LoadIt|, 1, 'ambiguous module' ],
+ [q|ToBeLoaded|, 0, 'ambiguous file' ],
+ );
- is( $@, '', qq[Loading Ambigious Module '$mod'] );
- ok( defined($INC{$file}), q[... found in %INC] );
-}
+ for my $aref (@Map) {
+ my($mod, $flag, $diag) = @$aref;
-{
- my $mod = 'ToBeLoaded';
- my $file = Module::Load::_to_file($mod);
+ my $file = Module::Load::_to_file($mod, $flag);
- eval { load $mod };
+ eval { load $mod };
- is( $@, '', qq[Loading Ambigious File '$mod'] );
- ok( defined($INC{$file}), q[... found in %INC] );
+ is( $@, '', qq[Loading $diag '$mod' $@] );
+ ok( defined($INC{$file}), qq[ '$file' found in \%INC] );
+ }
}
### Test importing functions ###
{ my $mod = 'TestModule';
my @funcs = qw[func1 func2];
-
+
eval { load $mod, @funcs };
is( $@, '', qq[Loaded exporter module '$mod'] );
-
+
+ ### test if import gets called properly
+ ok( $mod->imported, " ->import() was called" );
+
+ ### test if functions get exported
for my $func (@funcs) {
- ok( $mod->can($func), "$mod -> can( $func )" );
- ok( __PACKAGE__->can($func), "we -> can ( $func )" );
- }
-}
+ ok( $mod->can($func), " $mod->can( $func )" );
+ ok( __PACKAGE__->can($func), " we ->can ( $func )" );
+ }
+}