Merged 5.49_01 (r1339) from refactored branch to trunk
[catagits/Catalyst-Runtime.git] / t / live / engine / request / cookies.t
CommitLineData
dd4e6fd2 1#!perl
2
3use strict;
4use warnings;
5
6use FindBin;
7use lib "$FindBin::Bin/../../lib";
8
c20bd9d9 9use Test::More tests => 13;
dd4e6fd2 10use Catalyst::Test 'TestApp';
11
12use Catalyst::Request;
13use CGI::Cookie;
14use HTTP::Headers;
15use HTTP::Request::Common;
16use URI;
17
18{
19 my $creq;
20
fbcc39ad 21 my $request = GET( 'http://localhost/dump/request',
22 'Cookie' => 'Catalyst=Cool; Cool=Catalyst', );
23
dd4e6fd2 24 ok( my $response = request($request), 'Request' );
25 ok( $response->is_success, 'Response Successful 2xx' );
26 is( $response->content_type, 'text/plain', 'Response Content-Type' );
fbcc39ad 27 like( $response->content, qr/'Catalyst::Request'/,
28 'Content is a serialized Catalyst::Request' );
dd4e6fd2 29 ok( eval '$creq = ' . $response->content, 'Unserialize Catalyst::Request' );
30 isa_ok( $creq, 'Catalyst::Request' );
31 isa_ok( $creq->cookies->{Catalyst}, 'CGI::Cookie', 'Cookie Catalyst' );
32 is( $creq->cookies->{Catalyst}->name, 'Catalyst', 'Cookie Catalyst name' );
33 is( $creq->cookies->{Catalyst}->value, 'Cool', 'Cookie Catalyst value' );
34 isa_ok( $creq->cookies->{Cool}, 'CGI::Cookie', 'Cookie Cool' );
fbcc39ad 35 is( $creq->cookies->{Cool}->name, 'Cool', 'Cookie Cool name' );
dd4e6fd2 36 is( $creq->cookies->{Cool}->value, 'Catalyst', 'Cookie Cool value' );
37
fbcc39ad 38 my $cookies = {
dd4e6fd2 39 Catalyst => $creq->cookies->{Catalyst},
40 Cool => $creq->cookies->{Cool}
41 };
42
43 is_deeply( $creq->cookies, $cookies, 'Cookies' );
44}