| 12
 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
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 
 | #!/usr/bin/perl
use strict;
use warnings;
use Test::More;
use t::lib::Test::HT;
ht_test(MultipleChoices => { location => '/test' }, {
    code    => 300,
    reason  => 'Multiple Choices',
    headers => [ Location => '/test' ],
});
ht_test(MovedPermanently => { location => '/test' }, {
    code    => 301,
    reason  => 'Moved Permanently',
    headers => [
        Location => '/test',
    ],
});
ht_test(
    Found => {
        location => '/test',
        additional_headers => [
            Expires => 'Soonish',
        ],
    },
    {
        code    => 302,
        reason  => 'Found',
        headers => [
            Location => '/test',
            Expires  => 'Soonish',
        ],
    },
);
ht_test(SeeOther => { location => '/test' }, {
    code    => 303,
    reason  => 'See Other',
    headers => [
        Location => '/test',
    ],
});
ht_test(303 => { location => '/test' }, {
    code    => 303,
    reason  => 'See Other',
    headers => [
        Location => '/test',
    ],
});
ht_test(
    NotModified => {
        additional_headers => [
            'Expires' => 'Soonish',
        ],
    },
    {
        code      => 304,
        reason    => 'Not Modified',
        as_string => '304 Not Modified',
        body      => undef,
        length    => 0,
        headers   => [
            Expires  => 'Soonish',
        ],
    },
);
ht_test(UseProxy => { location => '/proxy/test' }, {
    code    => 305,
    reason  => 'Use Proxy',
    headers => [
        Location => '/proxy/test',
    ],
});
ht_test(
    TemporaryRedirect => {
        location => '/test',
        additional_headers => [
            'Expires' => 'Soonish'
        ]
    },
    {
        code    => 307,
        reason  => 'Temporary Redirect',
        headers => [
            'Location' => '/test',
            'Expires'  => 'Soonish',
        ],
    },
);
done_testing;
 |