6 use HTTP::Request::Common;
9 use lib "$FindBin::Bin/lib";
10 use Catalyst::Test 'TestContentNegotiation';
13 ok my $req = POST '/',
14 Content_Type => 'application/json',
15 Content => encode_json +{message=>'test'};
17 ok my $res = request $req;
19 is $res->content, 'is_json1';
23 ok my $req = POST '/', [a=>1,b=>2];
24 ok my $res = request $req;
26 is $res->content, 'is_urlencoded1';
30 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
31 ok my $req = POST '/',
32 Content_Type => 'form-data',
33 Content => [a=>1, b=>2, file=>["$path"]];
35 ok my $res = request $req;
37 is $res->content, 'is_multipart1';
41 ok my $req = POST '/under',
42 Content_Type => 'application/json',
43 Content => encode_json +{message=>'test'};
45 ok my $res = request $req;
47 is $res->content, 'is_json2';
51 ok my $req = POST '/under', [a=>1,b=>2];
52 ok my $res = request $req;
54 is $res->content, 'is_urlencoded2';
58 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
59 ok my $req = POST '/under',
60 Content_Type => 'form-data',
61 Content => [a=>1, b=>2, file=>["$path"]];
63 ok my $res = request $req;
65 is $res->content, 'is_multipart2';
69 ok my $req = POST '/is_more_than_one_1',
70 Content => [a=>1, b=>2];
72 ok my $res = request $req;
74 is $res->content, 'formdata1';
78 ok my $req = POST '/is_more_than_one_2',
79 Content => [a=>1, b=>2];
81 ok my $res = request $req;
83 is $res->content, 'formdata2';
87 ok my $req = POST '/is_more_than_one_3',
88 Content => [a=>1, b=>2];
90 ok my $res = request $req;
92 is $res->content, 'formdata3';
96 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
97 ok my $req = POST '/is_more_than_one_1',
98 Content_Type => 'form-data',
99 Content => [a=>1, b=>2, file=>["$path"]];
101 ok my $res = request $req;
103 is $res->content, 'formdata1';
107 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
108 ok my $req = POST '/is_more_than_one_2',
109 Content_Type => 'form-data',
110 Content => [a=>1, b=>2, file=>["$path"]];
112 ok my $res = request $req;
114 is $res->content, 'formdata2';
118 ok my $path = TestContentNegotiation->path_to(qw/share file.txt/);
119 ok my $req = POST '/is_more_than_one_3',
120 Content_Type => 'form-data',
121 Content => [a=>1, b=>2, file=>["$path"]];
123 ok my $res = request $req;
125 is $res->content, 'formdata3';