App-Dochazka-CLI
view release on metacpan or search on metacpan
t/parser/parse_test.t view on Meta::CPAN
note( $cmd = "EMPLOYEE=0 INTERVAL 6" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "INTERVAL FETCH 12" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "EMPLOYEE=0 INTERVAL FETCH 34" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "INTERVAL FILLUP 12" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "EMPLOYEE=0 INTERVAL FILLUP 34" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "INTERVAL 6 2015" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "EMPLOYEE=0 INTERVAL 6 1933" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "INTERVAL FETCH 12 33" ); # only the first three characters
# of the month are significant
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "EMPLOYEE=0 INTERVAL FETCH 6 43523" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "INTERVAL FILLUP 12 33" ); # only the first three characters
# of the month are significant
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( $cmd = "EMPLOYEE=0 INTERVAL FILLUP 6 43523" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_num_num1' );
note( "Interval adding" );
note( $cmd = "INTERVAL 00:00 5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL 00:00 - 5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL 00:00-5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_timerange' );
note( $cmd = "INTERVAL TODAY 00:00 5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL tomROWOR 00:00 5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL yesterYEAR 00:00 5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL 44-53-1 00:00 - 5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL 1956-07-2 00:00-5:1 WORK my heart's content" );
$r = parse( $cmd );
is_deeply( $r, {
'ts' => [
'INTERVAL',
'_DATE',
'_TIMERANGE',
'_TERM'
],
'th' => {
'_DATE' => '1956-07-2',
'_TIMERANGE' => '00:00-5:1',
'INTERVAL' => 'INTERVAL',
'_REST' => 'my heart\'s content',
'_TERM' => 'WORK'
},
'nc' => 'INTERVAL _DATE _TIMERANGE _TERM'
} );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_timerange' );
note( $cmd = "INTERVAL +3 00:00-5:1 WORK my heart's content" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_timerange' );
note( $cmd = "INTERVAL YESTERDAY 04:35 TOMORROW 14:00 FOO_BAR_PUSS Working my butt off" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_date_time_date1_time1' );
note( $cmd = "INTERVAL 1944-01-26 04:35 1944-01-26 14:00 FOO_BAR_PUSS Working my butt off" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_date_time_date1_time1' );
note( $cmd = "INTERVAL 1944-01-26 04:35 14:0 WORK Different test string" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL 1944-01-26 04:35 - 14:00 FOO_BAR_PUSS Working my butt off" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL -1 04:35 - 14:00 FOO_BAR_PUSS Working my butt off" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_time_time1' );
note( $cmd = "INTERVAL 4:35-14:00 FOO_BAR_PUSS Working my butt off" );
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Interval::interval_new_timerange' );
#================================
# Priv commands
#================================
$cmd = "PRIV";
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Priv::show_priv_as_at' );
$cmd = "EMPLOYEE=porg PRIV";
$r = parse( $cmd );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Priv::show_priv_as_at' );
#================================
# Schedule commands
#================================
$cmd = "SCHEDULE";
$r = parse( $cmd );
is_deeply( $r, {
'ts' => [
'SCHEDULE',
],
'th' => {
'SCHEDULE' => 'SCHEDULE',
'_REST' => '',
},
'nc' => "SCHEDULE"
} );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Schedule::show_schedule_as_at' );
$cmd = "EMPLOYEE=orc63 SCHEDULE";
$r = parse( $cmd );
is_deeply( $r, {
'ts' => [
'EMPLOYEE_SPEC',
'SCHEDULE',
],
'th' => {
'EMPLOYEE_SPEC' => 'EMPLOYEE=orc63',
'SCHEDULE' => 'SCHEDULE',
'_REST' => '',
},
'nc' => "EMPLOYEE_SPEC SCHEDULE"
} );
do_parse_test( $r->{'nc'}, 'App::Dochazka::CLI::Commands::Schedule::show_schedule_as_at' );
$cmd = "SCHEDULE MON 33:33 TUE 23:00";
$r = parse( $cmd );
is_deeply( $r, {
'ts' => [
'SCHEDULE',
'_DOW',
'_TIME',
'_DOW1',
'_TIME1',
],
'th' => {
( run in 3.520 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )