Make headers and cookies non-writable after finalize-headers
[catagits/Catalyst-Runtime.git] / t / unit / core / headers.t
CommitLineData
4dc24f34 1use Test::More tests => 6;
2use strict;
3use warnings;
4
5{
6
7 package MyApp;
8 use Catalyst qw/-Engine=Test/;
9 use Test::Exception;
10
11 sub stream_it : Local {
12 my ( $self, $c ) = @_;
13
14 lives_ok { $c->res->headers->content_encoding("moose") }
15 "can set header";
16 lives_ok { $c->res->headers->remove_header("moose") }
17 "can remove header";
18 lives_ok { $c->res->cookies->{yadda} = { value => "ping" } }
19 "can make cookie";
20 $c->write("foo");
21 throws_ok { $c->res->headers->content_encoding("moose") }
22 qr/can't modify/i, "can't set header after write";
23 throws_ok { $c->res->headers->remove_header("moose") }
24 qr/can't modify/i, "can't remove header after write";
25 throws_ok { $c->res->cookies->{yadda} = { value => "ping" } }
26 qr/read-only/i, "can't make cookie after write";
27 }
28
29 __PACKAGE__->setup;
30}
31
32use Catalyst::Test qw/MyApp/;
33
34get "/stream_it";
35