App-Framework-Lite
view release on metacpan or search on metacpan
t/00-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 fail("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/00-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]/,
);
}
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/App/Framework/Lite.pm');
t/04-Args.t view on Meta::CPAN
## These should not work
my $app = App::Framework::Lite->new('exit_type'=>'die', 'debug' => $DEBUG) ;
for(my $in=0; $in < $input_checks; ++$in)
{
@ARGV = () ;
my $arg=0 ;
foreach my $arg_aref (@args)
{
my $val = $arg_aref->[1] ;
$val .= "_not_there" if $arg == $in ;
push @ARGV, $val ;
++$arg ;
}
push @ARGV, @array ; # array
eval {
local *STDOUT ;
local *STDERR ;
open(STDOUT, '>', \$stdout) or die "Can't open STDOUT: $!" ;
( run in 2.116 seconds using v1.01-cache-2.11-cpan-55f5a4728d2 )