BackPAN-Version-Discover
view release on metacpan or search on metacpan
lib/BackPAN/Version/Discover.pm view on Meta::CPAN
# will also have various new bits of info added, if we need it later.
my ($bp_releases, $no_release_matched) =
$self->_guess_backpan_releases( $dist_info );
# the results object will have facilities to get the intresting
# info from the results, plus info needed to re-run the same scan
# any anything else people may ask for :)
return BackPAN::Version::Discover::Results->new(
releases_matched => $bp_releases,
skipped_modules => $skipped_modules,
dists_not_matched => $no_release_matched,
searched_dirs => \@search_dirs,
dist_info => $dist_info,
scan_args => \%args,
);
}
# we want to only search dirs that will be useful... therefore, we need to
# a. weed out obvious dead-ends like duplicate and non-existent paths.
# b. resolve all paths and make them absolute, so the output data is sane.
lib/BackPAN/Version/Discover/Results.pm view on Meta::CPAN
Note: You should never need to create this object directly!
Parameters:
=over 4
=item * releases_matched
=item * skipped_modules
=item * dists_not_matched
=item * searched_dirs
=item * dist_info
=item * scan_args
=back
=head2 release_paths
t/boilerplate.t view on Meta::CPAN
#!perl -T
use strict;
use warnings;
use Test::More tests => 3;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
while (my $line = <$fh>) {
while (my ($desc, $regex) = each %regex) {
if ($line =~ $regex) {
push @{$violated{$desc}||=[]}, $.;
t/boilerplate.t view on Meta::CPAN
if (%violated) {
fail("$filename contains boilerplate text");
diag "$_ appears on lines @{$violated{$_}}" for keys %violated;
} else {
pass("$filename contains no boilerplate text");
}
}
sub module_boilerplate_ok {
my ($module) = @_;
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
);
}
TODO: {
local $TODO = "Need to replace the boilerplate text";
not_in_file_ok(README =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
module_boilerplate_ok('lib/BackPAN/Version/Discover.pm');
}
( run in 0.769 second using v1.01-cache-2.11-cpan-26ccb49234f )