summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t
diff options
context:
space:
mode:
authorafresh1 <afresh1@openbsd.org>2019-02-13 21:10:38 +0000
committerafresh1 <afresh1@openbsd.org>2019-02-13 21:10:38 +0000
commit5759b3d249badf144a6240f7eec4dcf9df003e6b (patch)
tree88ca2f73bac6772bb3b7819e5ca28614859b0f2c /gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t
parentstrsep the -e argument for execve; ok benno (diff)
downloadwireguard-openbsd-5759b3d249badf144a6240f7eec4dcf9df003e6b.tar.xz
wireguard-openbsd-5759b3d249badf144a6240f7eec4dcf9df003e6b.zip
Import perl-5.28.1
looking good sthen@, Great! bluhm@
Diffstat (limited to 'gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t')
-rw-r--r--gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t27
1 files changed, 18 insertions, 9 deletions
diff --git a/gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t b/gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t
index 278a6029dc6..1a49be1a129 100644
--- a/gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t
+++ b/gnu/usr.bin/perl/cpan/Module-Metadata/t/extract-version.t
@@ -3,7 +3,6 @@ use warnings;
# vim:ts=8:sw=2:et:sta:sts=2
use Test::More 0.82;
-use Data::Dumper;
use Module::Metadata;
use lib 't/lib';
@@ -602,6 +601,16 @@ $Foo::Bar::VERSION = '1.23';
vers => undef,
all_versions => { 'Foo::Bar' => '1.23' },
},
+{
+ name => 'package statement that does not quite match the filename',
+ filename => 'Simple.pm',
+ code => <<'---',
+package ThisIsNotSimple;
+our $VERSION = '1.23';
+---
+ vers => $undef,
+ all_versions => { 'ThisIsNotSimple' => '1.23' },
+},
);
my $test_num = 0;
@@ -617,14 +626,14 @@ foreach my $test_case (@modules) {
SKIP: {
skip( "No our() support until perl 5.6", (defined $expected_version ? 3 : 2) )
- if $] < 5.006 && $code =~ /\bour\b/;
+ if "$]" < 5.006 && $code =~ /\bour\b/;
skip( "No package NAME VERSION support until perl 5.11.1", (defined $expected_version ? 3 : 2) )
- if $] < 5.011001 && $code =~ /package\s+[\w\:\']+\s+v?[0-9._]+/;
+ if "$]" < 5.011001 && $code =~ /package\s+[\w\:\']+\s+v?[0-9._]+/;
my $warnings = '';
local $SIG{__WARN__} = sub { $warnings .= $_ for @_ };
- my $pm_info = Module::Metadata->new_from_file(generate_file(File::Spec->catdir($tmpdir, "Simple${test_num}"), 'Simple.pm', $code));
+ my $pm_info = Module::Metadata->new_from_file(generate_file(File::Spec->catfile($tmpdir, "Simple${test_num}"), 'Simple.pm', $code));
# whenever we drop support for 5.6, we can do this:
# open my $fh, '<', \(encode('UTF-8', $code, Encode::FB_CROAK))
@@ -639,8 +648,8 @@ foreach my $test_case (@modules) {
# We want to ensure we preserve the original, as long as it's legal, so we
# explicitly check the stringified form.
{
- local $TODO = $test_case->{TODO_got_version};
- isa_ok($got, 'version') if defined $expected_version;
+ local $TODO = !defined($got) && ($test_case->{TODO_code_sub} || $test_case->{TODO_scalar});
+ isa_ok($got, 'version') or $errs++ if defined $expected_version;
}
if (ref($expected_version) eq 'CODE') {
@@ -669,19 +678,19 @@ foreach my $test_case (@modules) {
ok(
$test_case->{all_versions}->($pm_info->{versions}),
"case '$test_case->{name}': all extracted versions passes match sub"
- );
+ ) or $errs++;
}
else {
is_deeply(
$pm_info->{versions},
$test_case->{all_versions},
'correctly found all $VERSIONs',
- );
+ ) or $errs++;
}
}
is( $warnings, '', "case '$test_case->{name}': no warnings from parsing" ) or $errs++;
- diag 'extracted versions: ', explain({ got => $pm_info->{versions}, module_contents => $code }) if !$ENV{PERL_CORE} && $errs;
+ diag 'parsed module: ', explain($pm_info) if !$ENV{PERL_CORE} && $errs;
}
}
continue {