summaryrefslogtreecommitdiffstats
path: root/t/response-compatible.t
blob: daf2c5428bcd0a9db629d560090cc46fd1fb353e (plain) (blame)
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
53
54
55
56
57
58
59
60
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;

use Web::Response;

{
    my $res = Web::Response->new;
    $res->status(200);
    $res->header("Foo:Bar" => "baz");
    $res->content("Hello");

    is_deeply $res->finalize, [ 200, [ 'Foo:Bar' => 'baz' ], ["Hello"] ];
}

{
    my $res = Web::Response->new;
    $res->status(200);
    $res->header("Foo\000Bar" => "baz");
    $res->header("Qux\177Quux" => "42");
    $res->content("Hello");

    is_deeply $res->finalize, [ 200, [ "Foo\000Bar" => 'baz', "Qux\177Quux" => '42' ], ["Hello"] ];
}

{
    my $res = Web::Response->new;
    $res->status(200);
    $res->header("X-LWS-I"  => "Bar\r\n  true");
    $res->header("X-LWS-II" => "Bar\r\n\t\ttrue");
    $res->content("Hello");

    is_deeply $res->finalize,
        [
            200,
            [ 'X-LWS-I' => 'Bar true', 'X-LWS-II' => 'Bar true' ],
            ["Hello"]
        ];
}

{
    my $res = Web::Response->new;
    $res->status(200);
    $res->header("X-CR-LF" => "Foo\nBar\rBaz");
    $res->content("Hello");

    is_deeply $res->finalize, [ 200, [ 'X-CR-LF' => 'FooBarBaz' ], ["Hello"] ];
}

{
    my $res = Web::Response->new;
    $res->status(200);
    $res->header("X-CR-LF" => "Foo\nBar\rBaz");
    $res->content("Hello");

    is_deeply $res->finalize, [ 200, [ 'X-CR-LF' => 'FooBarBaz' ], ["Hello"] ];
}

done_testing;