Common-CLI
view release on metacpan or search on metacpan
t/01-basic.t view on Meta::CPAN
plan tests => 9;
package My::Application;
use base 'Common::CLI';
package main;
{
local @ARGV = qw( --help );
my $app = My::Application->new(
profile => {
'optional' => [
[ 'help', 'Display this help' ],
],
},
);
{
t/01-basic.t view on Meta::CPAN
# Check validated options
#
my $wanted_options = { help => 1, };
my ( $options ) = $app->validate_options();
is_deeply( $options, $wanted_options );
}
}
{
local @ARGV = qw();
my $app = My::Application->new(
profile => {
'required' => [
[ 'import=s', 'File to import' ],
],
},
);
{
#
# Check profile created
#
my $wanted_missing = [ 'import' ];
my ( undef, undef, $missing ) = $app->validate_options();
is_deeply( $missing, $wanted_missing );
}
}
{
local @ARGV = qw();
my $app = My::Application->new(
profile => {
'optional' => [
[ 'import=s', 'File to import' ],
],
'defaults' => {
'import' => '/tmp/import.csv',
},
},
t/01-basic.t view on Meta::CPAN
#
# Check profile created
#
my $wanted_options = { 'import' => '/tmp/import.csv' };
my $options = $app->validate_options();
is_deeply( $options, $wanted_options );
}
}
{
local @ARGV = qw( --import /tmp/non-existent-file.csv );
my $app = My::Application->new(
profile => {
'required' => [
[ 'import=s', 'File to import' ],
],
'constraint_methods' => {
'import' => sub {
return;
},
t/01-basic.t view on Meta::CPAN
return;
},
},
},
);
}
package main;
{
local @ARGV = qw( --import /tmp/non-existent-file.csv );
#
# Check profile created
#
my $app = My::Other::Application->new();
my $wanted_invalid = [ 'import' ];
my ( undef, $invalid, undef ) = $app->validate_options();
is_deeply( [ sort @$invalid ], [ sort @$wanted_invalid ] );
}
t/01-basic.t view on Meta::CPAN
'constraint_methods' => {
'export' => sub { return },
}
},
} );
}
package main;
{
local @ARGV = qw( --import /tmp/non-existent-file.csv --export /tmp/file );
#
# Check profile created
#
my $app = My::Other::Yet::Application->new();
my $wanted_invalid = [ 'import', 'export' ];
my ( undef, $invalid, undef ) = $app->validate_options();
is_deeply( [ sort @$invalid ], [ sort @$wanted_invalid ] );
}
( run in 0.621 second using v1.01-cache-2.11-cpan-49f99fa48dc )