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 )