4
4
use Test::More tests => 59;
7
my $Mod_Info_VERSION = '0.27';
8
my $Mod_Info_Pack_VERSION = $] >= 5.009002 ? '0.270' : '0.27';
7
my $Mod_Info_VERSION = '0.28';
8
my $Mod_Info_Pack_VERSION = $] >= 5.009002 ? '0.280' : '0.28';
10
10
my @old5lib = defined $ENV{PERL5LIB} ? ($ENV{PERL5LIB}) : ();
11
11
$ENV{PERL5LIB} = join $Config{path_sep}, 'blib/lib', @old5lib;
57
68
skip "Only works on 5.6.1 and up.", 8 unless $] >= 5.006001;
59
@expected_subs = map "Module::Info::$_", @expected_subs;
70
@expected_subs = ( ( map "Module::Info::$_", @expected_subs ),
71
( map "Module::Info::Safe::$_", @safe_subs ),
72
( map "Module::Info::Unsafe::$_", @unsafe_subs ) );
61
74
my @packages = $mod_info->packages_inside;
62
is( @packages, 1, 'Found a single package inside' );
63
is( $packages[0], 'Module::Info', ' and its what we want' );
75
is( @packages, 3, 'Found three packages inside' );
76
is_deeply( [sort @packages],
77
[sort qw(Module::Info Module::Info::Safe Module::Info::Unsafe)],
78
' and its what we want' );
65
80
my %versions = $mod_info->package_versions;
66
is( keys %versions, 1, '1 package with package_versions()');
81
is( keys %versions, 3, '1 package with package_versions()');
67
82
is( $versions{Module::Info}, $Mod_Info_Pack_VERSION, 'version is correct');
69
84
my %subs = $mod_info->subroutines;
70
85
is( keys %subs, @expected_subs, 'Found all the subroutines' );
71
86
is_deeply( [sort keys %subs],
72
87
[sort @expected_subs], ' names' );
74
89
my @mods = $mod_info->modules_used;
75
is( @mods, 6, 'Found all modules used' );
76
is_deeply( [sort @mods], [sort qw(strict File::Spec Config
77
Carp IPC::Open3 vars)],
90
is( @mods, 7, 'Found all modules used' );
91
is_deeply( [sort @mods], [sort qw(strict File::Spec Config
92
Carp IPC::Open3 vars Safe)],
78
93
' the right ones' );