Skip to content

Commit

Permalink
added tests for expires values with two digit years
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Aug 18, 2013
1 parent 3f4c7a3 commit 73e3cb0
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/Mojo/Cookie/Response.pm
Expand Up @@ -31,7 +31,7 @@ sub parse {
# "expires" is a special case, thank you Netscape...
if ($name =~ /^expires$/i) {
push @$pairs, @{shift @$tree // []};
my $len = $pairs->[0] && $pairs->[0] =~ /-/ ? 6 : 10;
my $len = ($pairs->[0] // '') =~ /-/ ? 6 : 10;
$value .= join ' ', ',', grep {defined} splice @$pairs, 0, $len;
}

Expand Down
22 changes: 22 additions & 0 deletions t/mojo/cookie.t
Expand Up @@ -422,4 +422,26 @@ is $cookies->[0]->expires->epoch, 0, 'right expires epoch value';
is $cookies->[0]->secure, 1, 'right secure flag';
is $cookies->[1], undef, 'no more cookies';

# Parse response cookie with two digit year (RFC 6265)
$cookies = Mojo::Cookie::Response->parse(
'foo=bar; Path=/; Expires=Tuesday, 09-Nov-19 23:12:40 GMT; Secure');
is $cookies->[0]->name, 'foo', 'right name';
is $cookies->[0]->value, 'bar', 'right value';
is $cookies->[0]->path, '/', 'right path';
is $cookies->[0]->expires, 'Sat, 09 Nov 2019 23:12:40 GMT',
'right expires value';
is $cookies->[0]->expires->epoch, 1573341160, 'right expires epoch value';
is $cookies->[0]->secure, 1, 'right secure flag';
is $cookies->[1], undef, 'no more cookies';
$cookies = Mojo::Cookie::Response->parse(
'foo=bar; Path=/; Expires=Tuesday, 09-Nov-99 23:12:40 GMT; Secure');
is $cookies->[0]->name, 'foo', 'right name';
is $cookies->[0]->value, 'bar', 'right value';
is $cookies->[0]->path, '/', 'right path';
is $cookies->[0]->expires, 'Tue, 09 Nov 1999 23:12:40 GMT',
'right expires value';
is $cookies->[0]->expires->epoch, 942189160, 'right expires epoch value';
is $cookies->[0]->secure, 1, 'right secure flag';
is $cookies->[1], undef, 'no more cookies';

done_testing();

0 comments on commit 73e3cb0

Please sign in to comment.