File: cookies_for.t

package info (click to toggle)
libhttp-cookiejar-perl 0.014-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 256 kB
  • sloc: perl: 428; makefile: 2
file content (52 lines) | stat: -rw-r--r-- 1,295 bytes parent folder | download | duplicates (2)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
use 5.008001;
use strict;
use warnings;
use Test::More 0.96;
use Test::Deep '!blessed';
use lib 't/lib';
use MockTime;

use HTTP::CookieJar;

my $url   = "http://example.com/foo/bar/";
my @input = (
    [ $url, "SID=2; Path=/" ],
    [ $url, "SID=1; Path=/foo" ],
    [ $url, "SID=0; Path=/foo/bar" ],
);

# MockTime keeps this constant
my $creation_time = time;

my $jar = HTTP::CookieJar->new;
$jar->add(@$_) for @input;

# Move up the clock for access time
MockTime->offset(10);
my $last_access_time = time;

# Check that cookies_for has expected times
for my $c ( $jar->cookies_for($url) ) {
    is( $c->{creation_time},    $creation_time,    "$c->{name}=$c->{value} creation_time" );
    is( $c->{last_access_time}, $last_access_time, "$c->{name}=$c->{value} last_access_time" );
}

# Modify cookies from cookies_for and verify they aren't changed
# from private originals.
for my $c ( $jar->cookies_for($url) ) {
    $c->{creation_time} = 0;
}
for my $c ( $jar->_cookies_for($url) ) {
    is( $c->{creation_time},    $creation_time,    "$c->{name}=$c->{value} creation_time" );
}

done_testing;
#
# This file is part of HTTP-CookieJar
#
# This software is Copyright (c) 2013 by David Golden.
#
# This is free software, licensed under:
#
#   The Apache License, Version 2.0, January 2004
#