let you use Hash::MultiValue everywhere if you like it
[catagits/Catalyst-Runtime.git] / t / more-psgi-compat.t
1 #!/usr/bin/env perl
2
3 use warnings;
4 use strict;
5
6 use FindBin;
7 use Test::More;
8 use HTTP::Request::Common;
9
10 use lib "$FindBin::Bin/lib";
11 use Catalyst::Test 'TestFromPSGI';
12
13 {
14   ok my $response = request GET '/from_psgi_array',
15     'got welcome from a catalyst controller';
16
17   is $response->content, 'helloworldtoday',
18     'expected content body /from_psgi_array';
19 }
20
21 {
22   ok my $response = request GET '/from_psgi_code',
23     'got welcome from a catalyst controller';
24
25   is $response->content, 'helloworldtoday2',
26     'expected content body /from_psgi_code';
27 }
28
29 {
30   ok my $response = request GET '/from_psgi_code_itr',
31     'got welcome from a catalyst controller';
32
33   is $response->content, 'helloworldtoday3',
34     'expected content body /from_psgi_code_itr';
35 }
36
37 {
38   ok my($res, $c) = ctx_request(POST '/test_psgi_keys?a=1&b=2', [c=>3,d=>4]);
39
40   ok $c->req->env->{"psgix.input.buffered"}, "input is buffered";
41   ok $c->req->env->{"plack.request.http.body"};
42   ok my $body = $c->req->env->{"plack.request.body"};
43   ok my $query = $c->req->env->{"plack.request.query"};
44   ok my $merged = $c->req->env->{"plack.request.merged"};
45
46   is $body->get('c'), 3;
47   is $body->get('d'), 4;
48   is $query->get('a'), 1;
49   is $query->get('b'), 2;
50   is $merged->get('c'), 3;
51   is $merged->get('d'), 4;
52   is $merged->get('a'), 1;
53   is $merged->get('b'), 2;
54 }
55
56 done_testing;