Update Module::Load to 0.12 (Was Re: Module::Load 0.12 wanna be
[p5sagit/p5-mst-13.2.git] / lib / Module / Load / t / 01_Module-Load.t
1 ### Module::Load test suite ###
2 BEGIN { 
3     if( $ENV{PERL_CORE} ) {
4         chdir '../lib/Module/Load' if -d '../lib/Module/Load';
5         unshift @INC, '../../..';
6     }
7
8
9 BEGIN { chdir 't' if -d 't' }
10
11 use strict;
12 use lib qw[../lib to_load];
13 use Module::Load;
14 use Test::More tests => 13;
15
16
17 {
18     my $mod = 'Must::Be::Loaded';
19     my $file = Module::Load::_to_file($mod,1);
20
21     eval { load $mod };
22
23     is( $@, '', qq[Loading module '$mod'] );
24     ok( defined($INC{$file}), q[... found in %INC] );
25 }
26
27 {
28     my $mod = 'LoadMe.pl';
29     my $file = Module::Load::_to_file($mod);
30
31     eval { load $mod };
32
33     is( $@, '', qq[Loading File '$mod'] );
34     ok( defined($INC{$file}), q[... found in %INC] );
35 }
36
37 {
38     my $mod = 'LoadIt';
39     my $file = Module::Load::_to_file($mod,1);
40
41     eval { load $mod };
42
43     is( $@, '', qq[Loading Ambigious Module '$mod'] );
44     ok( defined($INC{$file}), q[... found in %INC] );
45 }
46
47 {
48     my $mod = 'ToBeLoaded';
49     my $file = Module::Load::_to_file($mod);
50
51     eval { load $mod };
52
53     is( $@, '', qq[Loading Ambigious File '$mod'] );
54     ok( defined($INC{$file}), q[... found in %INC] );
55 }
56
57 ### Test importing functions ###
58 {   my $mod     = 'TestModule';
59     my @funcs   = qw[func1 func2];
60     
61     eval { load $mod, @funcs };
62     is( $@, '', qq[Loaded exporter module '$mod'] );
63     
64     for my $func (@funcs) {
65         ok( $mod->can($func),           "$mod -> can( $func )" );
66         ok( __PACKAGE__->can($func),    "we -> can ( $func )"  ); 
67     }        
68 }