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 )