CGI-Snapp
view release on metacpan or search on metacpan
t/run.modes.pl view on Meta::CPAN
#!/usr/bin/env perl
use lib 't/lib';
use strict;
use warnings;
use CGI;
use CGI::Snapp::RunModes;
use Log::Handler;
use Test::Deep;
use Test::More tests => 11;
use Try::Tiny;
# ------------------------------------------------
sub test_1
{
# Test 1. Various.
my($logger) = Log::Handler -> new;
$logger -> add
(
screen =>
{
maxlevel => 'debug',
message_layout => '%m',
minlevel => 'error',
newline => 1, # When running from the command line.
}
);
my($app) = CGI::Snapp::RunModes -> new(logger => $logger, send_output => 0);
my($mode_source) = 'r_m';
my($run_mode) = 'first_r_m';
$app -> mode_param($mode_source);
$app -> query(CGI -> new({$mode_source => $run_mode}) );
$app -> run_modes({first_r_m => 'first_sub'});
my($output) = $app -> run;
ok($output =~ /first_sub/, 'Run mode first_sub returned its name');
# Check run mode after run(). t/defaults.t checks run mode before run().
is($app-> get_current_runmode, $run_mode, "Get run mode '$run_mode' using old CGI object");
# Check a new CGI object does not reset the run mode.
my($q) = CGI -> new;
$app -> query($q);
is($app -> get_current_runmode, $run_mode, "Get run mode $run_mode using new CGI object");
is($app -> _run_mode_source, $mode_source, 'Get current mode source');
} # End of test_1.
# ------------------------------------------------
sub test_2
{
# Test 2. Check a run mode of 0 works.
my($logger) = Log::Handler -> new;
$logger -> add
(
screen =>
{
maxlevel => 'debug',
( run in 0.552 second using v1.01-cache-2.11-cpan-d8267643d1d )