Acme-require-case
view release on metacpan or search on metacpan
lib/Acme/require/case.pm view on Meta::CPAN
};
my $packaged_do = eval $code; ## no critic
$result = uplevel( 2, $packaged_do, $realfilename );
}
else {
croak "$filename has incorrect case (maybe you want $actual instead?)";
}
# Loaded correctly or not?
if ($@) {
$INC{$filename} = undef;
croak $@;
}
elsif ( !$result ) {
delete $INC{$filename};
croak "$filename did not return a true value";
}
else {
$! = 0;
return $result;
}
t/00-report-prereqs.t view on Meta::CPAN
# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027
use Test::More tests => 1;
use ExtUtils::MakeMaker;
use File::Spec;
# from $version::LAX
my $lax_version_re =
qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
|
(?:\.[0-9]+) (?:_[0-9]+)?
) | (?:
v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
|
(?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
)
)/x;
# hide optional CPAN::Meta modules from prereq scanner
t/00-report-prereqs.t view on Meta::CPAN
for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
next if $mod eq 'perl';
next if grep { $_ eq $mod } @exclude;
my $file = $mod;
$file =~ s{::}{/}g;
$file .= ".pm";
my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
my $want = $req_hash->{$phase}{$type}{$mod};
$want = "undef" unless defined $want;
$want = "any" if !$want && $want == 0;
my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
if ($prefix) {
my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
$have = "undef" unless defined $have;
push @reports, [$mod, $want, $have];
if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
if ( $have !~ /\A$lax_version_re\z/ ) {
push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
}
elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
push @dep_errors, "$mod version '$have' is not in required range '$want'";
}
}
t/lib/lookup.pm view on Meta::CPAN
package lookup;
use strict;
use warnings;
my $i = 0;
while ( my @call = map { defined($_) ? $_ : "undef" } caller($i) ) {
print "$i @call[0..7]\n";
$i++;
}
1;
t/require.t view on Meta::CPAN
like( $err, qr/incorrect case/, "foo: caught wrong case" );
$err = exception { require Foo::bar::Baz };
like( $err, qr/incorrect case/, "Foo::bar::Baz: caught wrong case" );
#--------------------------------------------------------------------------#
# Works like CORE::require
#--------------------------------------------------------------------------#
$err = exception { require Foo::Bar::Baz };
is( $err, undef, "Foo::Bar::Baz: required OK" );
ok( $INC{'Foo/Bar/Baz.pm'}, "Foo::Bar::Baz correct in \%INC" );
$err = exception { require 5 };
is( $err, undef, "5: required OK" );
$err = exception { require 5.000 };
is( $err, undef, "5.000: required OK" );
$err = exception { $n = 5; require $n };
is( $err, undef, "\$n = 5: required OK" );
$err = exception { $n = "5"; require $n if $n > 0 };
is( $err, undef, "\$n = '5': required numerized \$n OK" );
$err = exception { require only_once };
is( $err, undef, "only_once: required OK" );
$err = exception { require only_once };
is( $err, undef, "only_once: required again without dying" );
my $abs = File::Spec->rel2abs('t/lib/Absolute.pm');
$err = exception { require $abs };
is( $err, undef, "absolute path" );
#--------------------------------------------------------------------------#
# Fails like CORE::require
#--------------------------------------------------------------------------#
$err = exception { require dies };
like( $err, qr{error at t/lib/dies\.pm}, "dies.pm: caught 'error at' exception" );
$err = exception { require dies };
like( $err, qr{Compilation failed}, "dies.pm: caught 'Compilation failed' reload exception" );
( run in 1.267 second using v1.01-cache-2.11-cpan-d80b1682f3f )