1
+ # !perl -w
2
+
3
+ use strict;
4
+ use Test;
5
+
6
+ plan tests => 133;
7
+
1
8
use HTTP::Date;
2
9
3
10
require Time::Local if $^O eq " MacOS" ;
4
11
my $offset = ($^O eq " MacOS" ) ? Time::Local::timegm(0,0,0,1,0,70) : 0;
5
12
6
- print " 1..59\n " ;
7
-
8
- $ no = 1 ;
9
- $| = 1 ;
10
- sub ok {
11
- print " not " if $ _ [0 ];
12
- print " ok $ no\n " ;
13
- $ no ++ ;
14
- }
15
-
16
13
# test str2time for supported dates. Test cases with 2 digit year
17
14
# will probably break in year 2044.
18
15
my (@tests ) =
@@ -72,30 +69,24 @@ for (@tests) {
72
69
my $t2 = str2time(lc ($_ ), " GMT" );
73
70
my $t3 = str2time(uc ($_ ), " GMT" );
74
71
75
- $ t = " UNDEF" unless defined $ t ;
76
- print " '$ _ ' => $ t\n " ;
77
- print $@ if $@ ;
78
- print " not " if $ t eq ' UNDEF' || $ t != $ time
79
- || $ t2 != $ time
80
- || $ t3 != $ time ;
81
- ok ;
72
+ print " \n # '$_ '\n " ;
73
+
74
+ ok($t , $time );
75
+ ok($t2 , $time );
76
+ ok($t3 , $time );
82
77
}
83
78
84
79
# test time2str
85
- die " time2str failed"
86
- unless time2str($ time ) eq ' Thu, 03 Feb 1994 00:00:00 GMT' ;
80
+ ok(time2str($time ), ' Thu, 03 Feb 1994 00:00:00 GMT' );
87
81
88
82
# test the 'ls -l' format with missing year$
89
83
# round to nearest minute 3 days ago.
90
84
$time = int ((time - 3 * 24*60*60) /60)*60;
91
- ($ min , $ hr , $ mday , $ mon ) = (localtime $ time )[1 ,2 ,3 ,4 ];
85
+ my ($min , $hr , $mday , $mon ) = (localtime $time )[1,2,3,4];
92
86
$mon = (qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) )[$mon ];
93
- $ str = sprintf (" $ mon %02d %02d:%02d" , $ mday , $ hr , $ min );
94
- $ t = str2time($ str );
95
- $ t = " UNDEF" unless defined $ t ;
96
- print " '$ str ' => $ t ($ time )\n " ;
97
- print " not " if $ t != $ time ;
98
- ok ;
87
+ my $str = sprintf (" $mon %02d %02d:%02d" , $mday , $hr , $min );
88
+ my $t = str2time($str );
89
+ ok($t , $time );
99
90
100
91
# try some garbage.
101
92
for (undef , ' ' , ' Garbage' ,
@@ -121,10 +112,9 @@ for (undef, '', 'Garbage',
121
112
$bad ++;
122
113
}
123
114
};
124
- print defined ($ _ ) ? " '$ _ '\n " : " undef\n " ;
125
- print $@ if $@ ;
126
- print " not " if $ bad ;
127
- ok ;
115
+ print defined ($_ ) ? " \n # '$_ '\n " : " \n # undef\n " ;
116
+ ok(!$@ );
117
+ ok(!$bad );
128
118
}
129
119
130
120
print " Testing AM/PM gruff...\n " ;
@@ -134,60 +124,57 @@ use HTTP::Date qw(time2iso time2isoz);
134
124
135
125
print " Testing time2iso functions\n " ;
136
126
137
- $ t = time2iso(str2time(" 11-12-96 0:00AM" ));print " $ t \n " ;
138
- ok ($ t ne " 1996-11-12 00:00:00" );
127
+ $t = time2iso(str2time(" 11-12-96 0:00AM" ));
128
+ ok($t , " 1996-11-12 00:00:00" );
139
129
140
- $ t = time2iso(str2time(" 11-12-96 12:00AM" ));print " $ t \n " ;
141
- ok ($ t ne " 1996-11-12 00:00:00" );
130
+ $t = time2iso(str2time(" 11-12-96 12:00AM" ));
131
+ ok($t , " 1996-11-12 00:00:00" );
142
132
143
- $ t = time2iso(str2time(" 11-12-96 0:00PM" ));print " $ t \n " ;
144
- ok ($ t ne " 1996-11-12 12:00:00" );
133
+ $t = time2iso(str2time(" 11-12-96 0:00PM" ));
134
+ ok($t , " 1996-11-12 12:00:00" );
145
135
146
- $ t = time2iso(str2time(" 11-12-96 12:00PM" ));print " $ t \n " ;
147
- ok ($ t ne " 1996-11-12 12:00:00" );
136
+ $t = time2iso(str2time(" 11-12-96 12:00PM" ));
137
+ ok($t , " 1996-11-12 12:00:00" );
148
138
149
139
150
- $ t = time2iso(str2time(" 11-12-96 1:05AM" ));print " $ t \n " ;
151
- ok ($ t ne " 1996-11-12 01:05:00" );
140
+ $t = time2iso(str2time(" 11-12-96 1:05AM" ));
141
+ ok($t , " 1996-11-12 01:05:00" );
152
142
153
- $ t = time2iso(str2time(" 11-12-96 12:05AM" ));print " $ t \n " ;
154
- ok ($ t ne " 1996-11-12 00:05:00" );
143
+ $t = time2iso(str2time(" 11-12-96 12:05AM" ));
144
+ ok($t , " 1996-11-12 00:05:00" );
155
145
156
- $ t = time2iso(str2time(" 11-12-96 1:05PM" ));print " $ t \n " ;
157
- ok ($ t ne " 1996-11-12 13:05:00" );
146
+ $t = time2iso(str2time(" 11-12-96 1:05PM" ));
147
+ ok($t , " 1996-11-12 13:05:00" );
158
148
159
- $ t = time2iso(str2time(" 11-12-96 12:05PM" ));print " $ t \n " ;
160
- ok ($ t ne " 1996-11-12 12:05:00" );
149
+ $t = time2iso(str2time(" 11-12-96 12:05PM" ));
150
+ ok($t , " 1996-11-12 12:05:00" );
161
151
162
152
$t = str2time(" 2000-01-01 00:00:01.234" );
163
153
print " FRAC $t = " , time2iso($t ), " \n " ;
164
- ok (abs (($ t - int ($ t )) - 0.234 ) > 0.000001 );
154
+ ok(abs(($t - int ($t )) - 0.234) < 0.000001);
165
155
166
156
$a = time2iso;
167
157
$b = time2iso(500000);
168
158
print " LOCAL $a $b \n " ;
169
- $ az = time2isoz;
170
- $ bz = time2isoz(500000 );
159
+ my $az = time2isoz;
160
+ my $bz = time2isoz(500000);
171
161
print " GMT $az $bz \n " ;
172
162
173
- for ($ a , $ b ) { ok if /^ \d{4 }-\d\d-\d\d \d\d: \d\d: \d\d$/ ; }
174
- for ($ az , $ bz ) { ok if /^ \d{4 }-\d\d-\d\d \d\d: \d\d: \d\dZ$/ ; }
163
+ for ($a , $b ) { ok( / ^\d {4}-\d\d -\d\d \d\d :\d\d :\d\d $ / ) ; }
164
+ for ($az , $bz ) { ok( / ^\d {4}-\d\d -\d\d \d\d :\d\d :\d\d Z$ / ) ; }
175
165
176
166
# Test the parse_date interface
177
167
use HTTP::Date qw( parse_date) ;
178
168
179
- @ d = parse_date(" Jan 1 2001" );
169
+ my @d = parse_date(" Jan 1 2001" );
180
170
181
- print " not " if defined (pop (@ d )) ||
182
- " @ d" ne " 2001 1 1 0 0 0" ;
183
- ok ;
171
+ ok(!defined (pop (@d )));
172
+ ok(" @d " , " 2001 1 1 0 0 0" );
184
173
185
174
# This test will break around year 2070
186
- print " not " unless parse_date(" 03-Feb-20" ) eq " 2020-02-03 00:00:00" ;
187
- ok ;
175
+ ok(parse_date(" 03-Feb-20" ), " 2020-02-03 00:00:00" );
188
176
189
177
# This test will break around year 2048
190
- print " not " unless parse_date(" 03-Feb-98" ) eq " 1998-02-03 00:00:00" ;
191
- ok ;
178
+ ok(parse_date(" 03-Feb-98" ), " 1998-02-03 00:00:00" );
192
179
193
180
print " HTTP::Date $HTTP::Date::VERSION \n " ;
0 commit comments