App-Basis

 view release on metacpan or  search on metacpan

t/01_app.t  view on Meta::CPAN

#!/usr/bin/perl -w

=head1 NAME

app.t

=head1 DESCRIPTION

test App::Basis

=head1 AUTHOR

 kevin mulholland, moodfarm@cpan.org

=cut

use v5.10;
use strict;
use warnings;
use Try::Tiny;
use Path::Tiny ;
use File::HomeDir ;
use Test::More tests => 20;

my $logfile = "/tmp/$$.log" ;

BEGIN { use_ok('App::Basis'); }

# App::Basis can die rather than exit, specially to help us test it!
set_test_mode(1);
set_log_file( $logfile) ;

# first off lest just test that it works
my $status = 0;

try {
    @ARGV = ();
    my %opt = init_app(
        help_text => "Boiler plate code for an App::Basis app",
        options   => {}
    );
    $status = 1;
}
catch {
    note "  ERROR: caught $_";
};
ok( $status, 'Basic init_app' );
$status = 0;

try {
    @ARGV = ();
    my %opt = init_app(
        help_text => "Boiler plate code for an App::Basis app",
        options   => { fred => { required => 1, desc => 'something' } }
    );
}
catch {
    note "  CORRECT: caught $_";
    $status = 1;
};
ok( $status, 'missing desc' );
$status = 0;

try {
    @ARGV = ();
    my %opt = init_app(
        help_text => "Boiler plate code for an App::Basis app",
        options   => { fred => { desc => 'something', } }
    );
    $status = 1;
}
catch {
    note "  ERROR: caught $_";
};
ok( $status, 'has desc' );
$status = 0;

try {
    @ARGV = ('--fred');
    my %opt = init_app(



( run in 0.584 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )