|
Packit |
95306a |
#!/usr/bin/perl -w
|
|
Packit |
95306a |
|
|
Packit |
95306a |
use Test::Inter;
|
|
Packit |
95306a |
$t = new Test::Inter 'date :: parse (DST changes)';
|
|
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 |
if ($test[0] eq "config") {
|
|
Packit |
95306a |
shift(@test);
|
|
Packit |
95306a |
$obj->config(@test);
|
|
Packit |
95306a |
return ();
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
my $err = $obj->parse(@test);
|
|
Packit |
95306a |
if ($err) {
|
|
Packit |
95306a |
return $obj->err();
|
|
Packit |
95306a |
} else {
|
|
Packit |
95306a |
$d1 = $obj->value();
|
|
Packit |
95306a |
$d2 = $obj->value("gmt");
|
|
Packit |
95306a |
return($d1,$d2);
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$obj = new Date::Manip::Date;
|
|
Packit |
95306a |
$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
|
|
Packit |
95306a |
|
|
Packit |
95306a |
# For these tests, get rid of other timezones.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$dmt = $obj->tz();
|
|
Packit |
95306a |
$dmt->define_abbrev('EST','America/New_York');
|
|
Packit |
95306a |
$dmt->define_abbrev('EDT','America/New_York');
|
|
Packit |
95306a |
$dmt->define_offset('-050000','std','America/New_York');
|
|
Packit |
95306a |
$dmt->define_offset('-040000','std','America/New_York');
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$tests="
|
|
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 EST' => 2011031301:59:59 2011031306:59:59
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-03-13 02:00:00 EST' => '[parse] Unable to determine timezone'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-03-13 02:59:59 EDT' => '[parse] Unable to determine timezone'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-03-13 03:00:00 EDT' => 2011031303:00:00 2011031307:00:00
|
|
Packit |
95306a |
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-03-13 01:59:59 -05:00:00' => 2011031301:59:59 2011031306:59:59
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-03-13 02:00:00 -05:00:00' => '[parse] Unable to determine timezone'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-03-13 02:59:59 -04:00:00' => '[parse] Unable to determine timezone'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-03-13 03:00:00 -04:00:00' => 2011031303:00:00 2011031307:00:00
|
|
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' => 2011110601:59:59 2011110605:59:59
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-11-06 02:00:00 EDT' => '[parse] Unable to determine timezone'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-11-06 01:00:00 EST' => 2011110601:00:00 2011110606:00:00
|
|
Packit |
95306a |
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-11-06 01:59:59 -04:00:00' => 2011110601:59:59 2011110605:59:59
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-11-06 02:00:00 -04:00:00' => '[parse] Unable to determine timezone'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
'2011-11-06 01:00:00 -05:00:00' => 2011110601:00:00 2011110606:00:00
|
|
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:
|