Skip to content

Commit

Permalink
fix another warning in Mojo::Cookie::Response
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Nov 30, 2015
1 parent c6d00ca commit 029683c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
2 changes: 1 addition & 1 deletion lib/Mojo/Cookie/Response.pm
Expand Up @@ -19,7 +19,7 @@ sub parse {

while (my ($name, $value) = splice @$pairs, 0, 2) {
next unless $ATTRS{my $attr = lc $name};
$value =~ s/^\.// if $attr eq 'domain';
$value =~ s/^\.// if $attr eq 'domain' && defined $value;
$value = Mojo::Date->new($value // '')->epoch if $attr eq 'expires';
$value = 1 if $attr eq 'secure' || $attr eq 'httponly';
$cookies[-1]{$attr eq 'max-age' ? 'max_age' : $attr} = $value;
Expand Down
11 changes: 8 additions & 3 deletions t/mojo/cookie.t
Expand Up @@ -372,21 +372,26 @@ is $cookies->[0]->to_string,
. ' path=/test; secure; Max-Age=60', 'right result';
is $cookies->[1], undef, 'no more cookies';

# Parse response cookie with broken Expires value
# Parse response cookie with broken Expires and Domain values
$cookies = Mojo::Cookie::Response->parse('foo="ba r"; Expires=Th');
is $cookies->[0]->name, 'foo', 'right name';
is $cookies->[0]->value, 'ba r', 'right value';
is $cookies->[0]->expires, undef, 'no expires value';
is $cookies->[0]->domain, undef, 'no domain value';
is $cookies->[1], undef, 'no more cookies';
$cookies = Mojo::Cookie::Response->parse('foo="ba r"; Expires=Th; Path=/test');
$cookies = Mojo::Cookie::Response->parse(
'foo="ba r"; Expires=Th; Domain=; Path=/test');
is $cookies->[0]->name, 'foo', 'right name';
is $cookies->[0]->value, 'ba r', 'right value';
is $cookies->[0]->expires, undef, 'no expires value';
is $cookies->[0]->domain, '', 'no domain value';
is $cookies->[1], undef, 'no more cookies';
$cookies = Mojo::Cookie::Response->parse('foo="ba r"; Expires; Path=/test');
$cookies
= Mojo::Cookie::Response->parse('foo="ba r"; Expires; Domain; Path=/test');
is $cookies->[0]->name, 'foo', 'right name';
is $cookies->[0]->value, 'ba r', 'right value';
is $cookies->[0]->expires, undef, 'no expires value';
is $cookies->[0]->domain, undef, 'no domain value';
is $cookies->[1], undef, 'no more cookies';

# Response cookie with Max-Age 0 and Expires 0
Expand Down

0 comments on commit 029683c

Please sign in to comment.