Mnet
view release on metacpan or search on metacpan
t/Opts_Cli_Cache.t view on Meta::CPAN
use Mnet::Opts::Cli::Cache;
Mnet::Opts::Cli->new;
my $opts = Mnet::Opts::Cli::Cache::get({});
warn "defined" if not defined $opts;
warn "ref" if ref $opts ne "HASH";
warn "keys" if keys %$opts;
perl-eof
expect => '',
});
# get input hash opt with no cli opts
# check cache get returns input opts if cli opts not parsed
Mnet::T::test_perl({
name => 'get input hash opt with no cli opts',
perl => <<' perl-eof',
use warnings;
use strict;
use Mnet::Opts::Cli::Cache;
my $opts = Mnet::Opts::Cli::Cache::get({ test => 1 });
warn "test" if not $opts->{test};
perl-eof
expect => '',
});
# get with empty input hash and Mnet cli opt set
# check cache get returns parsed Mnet cli opt
Mnet::T::test_perl({
name => 'get with empty input hash and Mnet cli opt set',
perl => <<' perl-eof',
use warnings;
use strict;
use Mnet::Log;
use Mnet::Opts::Cli;
use Mnet::Opts::Cli::Cache;
Mnet::Opts::Cli->new;
my $opts = Mnet::Opts::Cli::Cache::get({});
warn "not defined" if not defined $opts->{quiet};
perl-eof
args => '--quiet',
expect => '',
});
# get with empty input hash and non-Mnet cli opt set
# check cache get doesn't return parsed non-Mnet cli opt
Mnet::T::test_perl({
name => 'get with empty input hash and non-Mnet cli opt set',
perl => <<' perl-eof',
use warnings;
use strict;
use Mnet::Opts::Cli;
use Mnet::Opts::Cli::Cache;
Mnet::Opts::Cli::define({ getopt => "sample" });
Mnet::Opts::Cli->new;
my $opts = Mnet::Opts::Cli::Cache::get({});
warn "defined" if defined $opts->{sample};
perl-eof
expect => '',
});
# get with input hash override of cli opt
# check cache get overlays input opts over parsed cli opts
Mnet::T::test_perl({
name => 'get with input hash override of cli opt',
perl => <<' perl-eof',
use warnings;
use strict;
use Mnet::Opts::Cli;
use Mnet::Opts::Cli::Cache;
Mnet::Opts::Cli::define({ getopt => "sample" });
Mnet::Opts::Cli->new;
my $opts = Mnet::Opts::Cli::Cache::get({ sample => "2" });
warn "defined" if $opts->{sample} ne "2";
perl-eof
args => '--sample',
expect => '',
});
# get with extra args
# check Mnet::Opts::Cli::Cache::get returns extra args
Mnet::T::test_perl({
name => 'get with extra args',
perl => <<' perl-eof',
use warnings;
use strict;
use Mnet::Opts::Cli;
use Mnet::Opts::Cli::Cache;
Mnet::Opts::Cli::define({ getopt => "sample" });
my ($cli_opts, @cli_extras) = Mnet::Opts::Cli->new;
my ($cache_opts, @cache_extras) = Mnet::Opts::Cli::Cache::get({});
warn "extras" if $cache_extras[0] ne "extras";
perl-eof
args => '--sample extras',
expect => '',
});
# isolated cache options
# check that changes to a cached options don't propogate
Mnet::T::test_perl({
name => 'get with extra args',
perl => <<' perl-eof',
use warnings;
use strict;
use Mnet::Opts::Cli;
my ($old_opts, @old_extras) = Mnet::Opts::Cli->new;
$old_opts->{invalid} = 1;
@old_extras = (1);
my ($new_opts, @new_extras) = Mnet::Opts::Cli::Cache::get({});
warn "opts" if exists $new_opts->{invalid};
warn "extras" if exists $new_extras[0];
perl-eof
expect => '',
});
# isolated Mnet::Opts::Cli objects
# check that changes to a cached Mnet::Opts::Cli->new objects don't propogate
Mnet::T::test_perl({
name => 'isolated Mnet::Opts::Cli objects',
perl => <<' perl-eof',
use warnings;
use strict;
use Mnet::Opts::Cli;
( run in 2.239 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )