first pass test case
[catagits/Catalyst-Runtime.git] / t / content_negotiation.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 use JSON::MaybeXS;
10
11 use lib "$FindBin::Bin/lib";
12 use Catalyst::Test 'TestContentNegotiation';
13
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
21   is $res->content, 'is_json';
22 }
23
24 {
25   ok my $req = POST '/', [a=>1,b=>2];
26   ok my $res = request $req;
27
28   is $res->content, 'is_urlencoded';
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
39   is $res->content, 'is_multipart';
40 }
41
42
43 done_testing;