Blame t/date.calc.date_delta_exact.t

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: