1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
### Module::Load test suite ###
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 'no_plan';
### 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' ],
);
for my $aref (@Map) {
my($mod, $flag, $diag) = @$aref;
my $file = Module::Load::_to_file($mod, $flag);
eval { load $mod };
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 )" );
}
}
|