diff options
author | Eric Wong <e@80x24.org> | 2015-09-22 10:09:43 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2015-09-22 22:12:16 +0000 |
commit | 01af7ca10ae9a33248f18be92e3251d08b94d7fb (patch) | |
tree | a877b74f6ad75b2aff7afec43d9d2b52d278b4e4 /t | |
parent | 0b87f63548f524365a7e1c39635fdb05bfb3fb42 (diff) | |
download | public-inbox-01af7ca10ae9a33248f18be92e3251d08b94d7fb.tar.gz |
RFC 3977 supports YYYYMMDD dates while retaining backwards compatibility for old YYMMDD dates.
Diffstat (limited to 't')
-rw-r--r-- | t/nntp.t | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -61,4 +61,33 @@ use_ok 'PublicInbox::NNTP'; ngpat_like('a.s.r', 'a.t,a.s.*'); } +{ + use POSIX qw(strftime); + sub time_roundtrip { + my ($date, $time, $gmt) = @_; + my $m = join(' ', @_); + my $ts = PublicInbox::NNTP::parse_time(@_); + my @t = gmtime($ts); + my ($d, $t); + if (length($date) == 8) { + ($d, $t) = split(' ', strftime('%Y%m%d %H%M%S', @t)); + } else { + ($d, $t) = split(' ', strftime('%g%m%d %H%M%S', @t)); + } + is_deeply([$d, $t], [$date, $time], "roundtripped: $m"); + $ts; + } + my $x1 = time_roundtrip(qw(20141109 060606 GMT)); + my $x2 = time_roundtrip(qw(141109 060606 GMT)); + my $x3 = time_roundtrip(qw(930724 060606 GMT)); + + SKIP: { + skip('YYMMDD test needs updating', 2) if (time > 0x7fffffff); + # our world probably ends in 2038, but if not we'll try to + # remember to update the test then + is($x1, $x2, 'YYYYMMDD and YYMMDD parse identically'); + is(strftime('%Y', gmtime($x3)), '1993', '930724 was in 1993'); + } +} + done_testing(); |