File: 060_http_date.t

package info (click to toggle)
perl 5.14.2-21%2Bdeb7u3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 89,728 kB
  • sloc: perl: 421,086; ansic: 195,186; sh: 37,852; pascal: 8,746; cpp: 3,893; makefile: 2,346; xml: 1,972; yacc: 1,602
file content (37 lines) | stat: -rw-r--r-- 998 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!perl
#
# This file is part of HTTP-Tiny
#
# This software is copyright (c) 2011 by Christian Hansen.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#

use strict;
use warnings;

use Test::More;
use HTTP::Tiny;

# test cases adapted from HTTP::Date
my $epoch = 760233600;

my @cases = (
  ['Thu, 03 Feb 1994 00:00:00 GMT',       'RFC822+RFC1123'],
  ['Thu,  3 Feb 1994 00:00:00 GMT',       'broken RFC822+RFC1123'],
  ['Thursday, 03-Feb-94 00:00:00 GMT',    'old rfc850 HTTP format'],
  ['Thursday, 03-Feb-1994 00:00:00 GMT',  'broken rfc850 HTTP format'],
  ['Thu Feb  3 00:00:00 GMT 1994',        'ctime format'],
  ['Thu Feb  3 00:00:00 1994',            'same as ctime, except no TZ'],
);

plan tests => 1 + @cases;

is(HTTP::Tiny->_http_date($epoch), $cases[0][0], "epoch -> RFC822/RFC1123");

for my $c ( @cases ) {
  is( HTTP::Tiny->_parse_http_date($c->[0]), $epoch, $c->[1] . " -> epoch");
}