for people that do silly things
[catagits/Catalyst-Runtime.git] / t / content_negotiation.t
CommitLineData
982d7488 1#!/usr/bin/env perl
2
3use warnings;
4use strict;
5
6use FindBin;
7use Test::More;
8use HTTP::Request::Common;
d15db19c 9use JSON::MaybeXS;
982d7488 10
11use lib "$FindBin::Bin/lib";
12use Catalyst::Test 'TestContentNegotiation';
13
d15db19c 14{
15 ok my $req = POST '/',
16 Content_Type => 'application/json',
17 Content => encode_json +{message=>'test'};
18
19 ok my $res = request $req;
20
32d4a56f 21 is $res->content, 'is_json1';
d15db19c 22}
23
24{
25 ok my $req = POST '/', [a=>1,b=>2];
26 ok my $res = request $req;
27
32d4a56f 28 is $res->content, 'is_urlencoded1';
d15db19c 29}
30
31{
32 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
33 ok my $req = POST '/',
34 Content_Type => 'form-data',
35 Content => [a=>1, b=>2, file=>["$path"]];
36
37 ok my $res = request $req;
38
32d4a56f 39 is $res->content, 'is_multipart1';
d15db19c 40}
41
32d4a56f 42{
43 ok my $req = POST '/under',
44 Content_Type => 'application/json',
45 Content => encode_json +{message=>'test'};
46
47 ok my $res = request $req;
48
49 is $res->content, 'is_json2';
50}
51
52{
53 ok my $req = POST '/under', [a=>1,b=>2];
54 ok my $res = request $req;
55
56 is $res->content, 'is_urlencoded2';
57}
58
59{
60 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
61 ok my $req = POST '/under',
62 Content_Type => 'form-data',
63 Content => [a=>1, b=>2, file=>["$path"]];
64
65 ok my $res = request $req;
66
67 is $res->content, 'is_multipart2';
68}
69
70{
71 ok my $req = POST '/is_more_than_one_1',
72 Content => [a=>1, b=>2];
73
74 ok my $res = request $req;
75
76 is $res->content, 'formdata1';
77}
78
79{
80 ok my $req = POST '/is_more_than_one_2',
81 Content => [a=>1, b=>2];
82
83 ok my $res = request $req;
84
85 is $res->content, 'formdata2';
86}
87
88{
89 ok my $req = POST '/is_more_than_one_3',
90 Content => [a=>1, b=>2];
91
92 ok my $res = request $req;
93
94 is $res->content, 'formdata3';
95}
96
97{
98 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
99 ok my $req = POST '/is_more_than_one_1',
100 Content_Type => 'form-data',
101 Content => [a=>1, b=>2, file=>["$path"]];
102
103 ok my $res = request $req;
104
105 is $res->content, 'formdata1';
106}
107
108{
109 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
110 ok my $req = POST '/is_more_than_one_2',
111 Content_Type => 'form-data',
112 Content => [a=>1, b=>2, file=>["$path"]];
113
114 ok my $res = request $req;
115
116 is $res->content, 'formdata2';
117}
118
119{
120 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
121 ok my $req = POST '/is_more_than_one_3',
122 Content_Type => 'form-data',
123 Content => [a=>1, b=>2, file=>["$path"]];
124
125 ok my $res = request $req;
126
127 is $res->content, 'formdata3';
128}
982d7488 129
130done_testing;