diff options
Diffstat (limited to 'lib/Time/Local.t')
-rwxr-xr-x | lib/Time/Local.t | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/Time/Local.t b/lib/Time/Local.t index a384b171fd..68952c99aa 100755 --- a/lib/Time/Local.t +++ b/lib/Time/Local.t @@ -28,7 +28,7 @@ use Time::Local; # use vmsish 'time' makes for oddness around the Unix epoch if ($^O eq 'VMS') { $time[0][2]++ } -print "1..", @time * 2 + 5, "\n"; +print "1..", @time * 2 + 6, "\n"; $count = 1; for (@time) { @@ -93,6 +93,20 @@ timegm(0,0,0, 1, 2, 80) - timegm(0,0,0, 1, 0, 80) == 60 * 24 * 3600 or print "not "; print "ok ", $count++, "\n"; +# bugid #19393 +# At a DST transition, the clock skips forward, eg from 01:59:59 to +# 03:00:00. In this case, 02:00:00 is an invalid time, and should be +# treated like 03:00:00 rather than 01:00:00 - negative zone offsets used +# to do the latter + +{ + my $hour = (localtime(timelocal(0, 0, 2, 7, 3, 102)))[2]; + # testers in US/Pacific should get 3, + # other testers should get 2 + print "not " unless $hour == 2 || $hour == 3; + print "ok ", $main::count++, "\n"; +} + #print "Testing timelocal.pl module too...\n"; package test; |