# Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### # change 'tests => 1' to 'tests => last_test_to_print'; use Test; BEGIN { plan tests => 14 }; use Date::PeriodParser; ok(2); # If we made it this far, we're ok. ######################### # Insert your test code below, the Test module is use()ed here so read # its man page ( perldoc Test ) for help writing this test script. $Date::PeriodParser::TestTime = 1018645296; # (22:01:36 12/4/2002) my %tests = ( "round about now" => [ 1018644996, 1018645596 ], today => [ 1018566000, 1018652399 ], yesterday => [ 1018479600, 1018565999 ], "yesterday morning" => [ 1018479600, 1018522800 ], "the day before yesterday" => [ 1018393200, 1018479599 ], "tomorrow evening" => [ 1018717200, 1018738799 ], "last night" => [ 1018555200, 1018587600 ], "this afternoon" => [ 1018614600, 1018630800 ], "tonight" => [ 1018641600, 1018674000 ], "4 days ago" => [ 1018220400, 1018306799 ], "roughly yesterday afternoon" => [1018521000, 1018551600], "around the morning of the day before yesterday" => [1018386000, 1018443600], "roughly eleven days ago" => [ 1017486000, 1017831599 ], ); for (keys %tests) { my ($from, $to) = parse_period($_); my ($efrom, $eto) = @{$tests{$_}}; if ($from == $efrom and $to == $eto) { ok(1); } else { print "($from, $to) != ($efrom, $eto)\n"; print "Saw from @{[ scalar localtime $from ]}, expected @{[ scalar localtime $efrom ]} for $_\n" if $from != $efrom; print "Saw to @{[ scalar localtime $to ]}, expected @{[ scalar localtime $eto ]} for $_\n" if $to != $eto; ok(0); } } #print $_, ", " for keys %tests;