Alien-Selenium
view release on metacpan or search on metacpan
inc/My/Module/Build.pm view on Meta::CPAN
BEGIN { *write_file = \&My::Module::Build::write_file;
*read_file = \&My::Module::Build::read_file; }
# Probably wise to add this in real test suites too:
use Fatal qw(mkdir chdir copy);
mkdir(my $fakemoduledir = My::Tests::Below->tempdir() . "/Fake-Module");
my $sample_Build_PL = My::Tests::Below->pod_code_snippet("synopsis");
$sample_Build_PL =~ s/^(.*Acme::Pony.*)$/#$1/m; # As we say in french,
# faut pas _que_ deconner non plus.
my $ordinary_arguments = <<'ORDINARY_ARGUMENTS';
module_name => 'Fake::Module',
license => 'perl',
dist_author => 'Octave Hergebelle <hector@tdlgb.org>',
dist_version_from => 'lib/Fake/Module.pm',
dist_abstract => 'required for Module::Build 0.2805, sheesh',
requires => {
'Module::Build' => 0,
},
inc/My/Tests/Below.pm view on Meta::CPAN
As shown in L</SYNOPSIS>, one can invoke "use MyPackage;" at the top
of the test suite and this will not cause the package under test to be
reloaded from the filesystem. The import() semantics of MyPackage, if
any, will work as normal.
=cut
local %INC = %INC;
if (defined $self->{package} && defined $self->{packfilename}) {
# Heuristics needed here. $self->{packfilename} is a filename,
# say /path/to/lib/Foo/Bar.pm, and we want to set
# $INC{"Foo/Bar.pm"} so we must weed out /path/to/lib
# wisely. $self->{package} is "Foo::Bar" most of the time but
# may also be "Foo::Bar::SubPackage", "Foo" (if Foo::Bar is a
# mixin to Foo) or even "Un::Related". In the latter case
# we're out of luck and we leave %INC unmolested.
for(my $package = $self->{package};
$package; $package =~ s/(::|^)[^:]*$//) {
my $filename = $package;
$filename =~ s|::|/|g;
#warn "Considering $filename against $self->{packfilename}";
( run in 0.738 second using v1.01-cache-2.11-cpan-483215c6ad5 )