|
Packit |
95306a |
#!/usr/bin/perl -w
|
|
Packit |
95306a |
|
|
Packit |
95306a |
use Test::Inter;
|
|
Packit |
95306a |
$t = new Test::Inter 'date :: calc (date,exact delta)';
|
|
Packit |
95306a |
$testdir = '';
|
|
Packit |
95306a |
$testdir = $t->testdir();
|
|
Packit |
95306a |
|
|
Packit |
95306a |
use Date::Manip;
|
|
Packit |
95306a |
if (DateManipVersion() >= 6.00) {
|
|
Packit |
95306a |
$t->feature("DM6",1);
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$t->skip_all('Date::Manip 6.xx required','DM6');
|
|
Packit |
95306a |
|
|
Packit |
95306a |
|
|
Packit |
95306a |
sub test {
|
|
Packit |
95306a |
(@test)=@_;
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$err = $obj1->parse(shift(@test));
|
|
Packit |
95306a |
return $$obj1{"err"} if ($err);
|
|
Packit |
95306a |
$err = $obj2->parse(shift(@test));
|
|
Packit |
95306a |
return $$obj2{"err"} if ($err);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
my $obj3 = $obj1->calc($obj2,@test);
|
|
Packit |
95306a |
return if (! defined $obj3);
|
|
Packit |
95306a |
$err = $obj3->err();
|
|
Packit |
95306a |
return $err if ($err);
|
|
Packit |
95306a |
$ret = $obj3->value();
|
|
Packit |
95306a |
$abb = $$obj3{'data'}{'abb'};
|
|
Packit |
95306a |
return ($ret,$abb);
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$obj1 = new Date::Manip::Date;
|
|
Packit |
95306a |
$obj1->config("forcedate","now,America/New_York");
|
|
Packit |
95306a |
$obj2 = $obj1->new_delta();
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$tests="
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2011-12-11-12:00:00 +24:0:0 => 2011121212:00:00 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2011-12-11-12:00:00 +97:1:30 => 2011121513:01:30 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2011-04-03-12:00:00 +2018:2:45 => 2011062614:02:45 EDT
|
|
Packit |
95306a |
|
|
Packit |
95306a |
1997-01-31-23:59:59 '+ 1 sec' => 1997020100:00:00 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2005-02-15-13:59:11 -10h => 2005021503:59:11 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2005-02-15-13:59:11 '-10h +0s' => 2005021503:59:11 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2001-02-03-04:05:06 '+ 2 hours' => 2001020306:05:06 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2001-02-03-04:05:06 '- 2 hours' => 2001020302:05:06 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2001-02-03-04:05:06 '+ -2 hours' => '[parse] Invalid delta string'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2011-12-11-12:00:00 +878400000:0:0 => '[calc] Delta too large'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
# Spring forward: 2011-03-13 02:00 EST -> 2011-03-13 03:00 EDT
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2011-03-13-01:59:59 +1 => 2011031303:00:00 EDT
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2011-03-12-12:00:00 +24:0:0 => 2011031313:00:00 EDT
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
# Fall back: 2011-11-06 02:00 EDT -> 2011-11-06 01:00 EST
|
|
Packit |
95306a |
#
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-11-06 01:59:59 EDT' +1 => 2011110601:00:00 EST
|
|
Packit |
95306a |
|
|
Packit |
95306a |
2011-04-03-12:00:00 +87840000:0:0 => '[calc] Delta produces date outside valid range'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
";
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$t->tests(func => \&test,
|
|
Packit |
95306a |
tests => $tests);
|
|
Packit |
95306a |
$t->done_testing();
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#Local Variables:
|
|
Packit |
95306a |
#mode: cperl
|
|
Packit |
95306a |
#indent-tabs-mode: nil
|
|
Packit |
95306a |
#cperl-indent-level: 3
|
|
Packit |
95306a |
#cperl-continued-statement-offset: 2
|
|
Packit |
95306a |
#cperl-continued-brace-offset: 0
|
|
Packit |
95306a |
#cperl-brace-offset: 0
|
|
Packit |
95306a |
#cperl-brace-imaginary-offset: 0
|
|
Packit |
95306a |
#cperl-label-offset: 0
|
|
Packit |
95306a |
#End:
|