diff --git a/lib/Module/Install/Admin/ScanDeps.pm b/lib/Module/Install/Admin/ScanDeps.pm index a75ba6e..9cee31e 100644 --- a/lib/Module/Install/Admin/ScanDeps.pm +++ b/lib/Module/Install/Admin/ScanDeps.pm @@ -18,6 +18,7 @@ Please first specify a required perl version, like this: perl_version('5.005'); END_MESSAGE $perl_version =~ s{^(\d+)\.(\d+)\.(\d+)}{$1 + $2/1_000 + $3/1_000_000}e; + $perl_version = 0 + $perl_version; require Module::ScanDeps; require Module::CoreList; diff --git a/t/35_perl_version.t b/t/35_perl_version.t new file mode 100644 index 0000000..888b8c0 --- /dev/null +++ b/t/35_perl_version.t @@ -0,0 +1,23 @@ +use strict; +BEGIN { + $| = 1; + $^W = 1; +} +use Test::More; + +my @existing_versions = ( qw(5.005 5.01 5.010 5.0100 5.01000 5.010000 5.10.0 + 5.010.000) ); +my @missing_versions = ( qw(5.005002 5.5.2) ); +plan tests => 1 + @existing_versions + @missing_versions; + +require_ok( 'Module::Install::Admin::ScanDeps' ); +my $m = Module::Install::Admin::ScanDeps->new; + +for my $version (@existing_versions) { + eval { $m->scan_dependencies(q{Carp}, $version, q{0}) }; + ok(!$@, "scan_dependencies() can query core modules for $version Perl"); +} +for my $version (@missing_versions) { + eval { $m->scan_dependencies(q{Carp}, $version, q{0}) }; + ok($@, "scan_dependencies() cannot query core modules for $version Perl"); +}