App-Framework-Lite
view release on metacpan or search on metacpan
t/00-boilerplate.t view on Meta::CPAN
1234567891011121314151617#!perl -T
use
strict;
use
warnings;
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
222324252627282930313233343536373839404142434445464748
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
343536373839404142434445464748495051525354## 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 0.251 second using v1.01-cache-2.11-cpan-55f5a4728d2 )