From: John Napiorkowski Date: Wed, 23 Oct 2013 17:35:36 +0000 (-0500) Subject: finished test cases X-Git-Tag: 5.90050~1^2~17 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=32d4a56f5768c84faa69b3c6a7edf959f5fe0d17 finished test cases --- diff --git a/t/content_negotiation.t b/t/content_negotiation.t index df6a3c5..559a370 100644 --- a/t/content_negotiation.t +++ b/t/content_negotiation.t @@ -18,14 +18,14 @@ use Catalyst::Test 'TestContentNegotiation'; ok my $res = request $req; - is $res->content, 'is_json'; + is $res->content, 'is_json1'; } { ok my $req = POST '/', [a=>1,b=>2]; ok my $res = request $req; - is $res->content, 'is_urlencoded'; + is $res->content, 'is_urlencoded1'; } { @@ -36,8 +36,95 @@ use Catalyst::Test 'TestContentNegotiation'; ok my $res = request $req; - is $res->content, 'is_multipart'; + is $res->content, 'is_multipart1'; } +{ + ok my $req = POST '/under', + Content_Type => 'application/json', + Content => encode_json +{message=>'test'}; + + ok my $res = request $req; + + is $res->content, 'is_json2'; +} + +{ + ok my $req = POST '/under', [a=>1,b=>2]; + ok my $res = request $req; + + is $res->content, 'is_urlencoded2'; +} + +{ + ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); + ok my $req = POST '/under', + Content_Type => 'form-data', + Content => [a=>1, b=>2, file=>["$path"]]; + + ok my $res = request $req; + + is $res->content, 'is_multipart2'; +} + +{ + ok my $req = POST '/is_more_than_one_1', + Content => [a=>1, b=>2]; + + ok my $res = request $req; + + is $res->content, 'formdata1'; +} + +{ + ok my $req = POST '/is_more_than_one_2', + Content => [a=>1, b=>2]; + + ok my $res = request $req; + + is $res->content, 'formdata2'; +} + +{ + ok my $req = POST '/is_more_than_one_3', + Content => [a=>1, b=>2]; + + ok my $res = request $req; + + is $res->content, 'formdata3'; +} + +{ + ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); + ok my $req = POST '/is_more_than_one_1', + Content_Type => 'form-data', + Content => [a=>1, b=>2, file=>["$path"]]; + + ok my $res = request $req; + + is $res->content, 'formdata1'; +} + +{ + ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); + ok my $req = POST '/is_more_than_one_2', + Content_Type => 'form-data', + Content => [a=>1, b=>2, file=>["$path"]]; + + ok my $res = request $req; + + is $res->content, 'formdata2'; +} + +{ + ok my $path = TestContentNegotiation->path_to(qw/share file.txt/); + ok my $req = POST '/is_more_than_one_3', + Content_Type => 'form-data', + Content => [a=>1, b=>2, file=>["$path"]]; + + ok my $res = request $req; + + is $res->content, 'formdata3'; +} done_testing; diff --git a/t/lib/TestContentNegotiation/Controller/Root.pm b/t/lib/TestContentNegotiation/Controller/Root.pm index ab8e0eb..60fe6f7 100644 --- a/t/lib/TestContentNegotiation/Controller/Root.pm +++ b/t/lib/TestContentNegotiation/Controller/Root.pm @@ -7,22 +7,22 @@ extends 'Catalyst::Controller'; sub start :Chained(/) PathPrefix CaptureArgs(0) { } - sub is_json : Chained('start') PathPart('') Consumes('application/json') Args(0) { pop->res->body('is_json') } - sub is_urlencoded : Chained('start') PathPart('') Consumes('application/x-www-form-urlencoded') Args(0) { pop->res->body('is_urlencoded') } - sub is_multipart : Chained('start') PathPart('') Consumes('multipart/form-data') Args(0) { pop->res->body('is_multipart') } + sub is_json : Chained('start') PathPart('') Consumes('application/json') Args(0) { pop->res->body('is_json1') } + sub is_urlencoded : Chained('start') PathPart('') Consumes('application/x-www-form-urlencoded') Args(0) { pop->res->body('is_urlencoded1') } + sub is_multipart : Chained('start') PathPart('') Consumes('multipart/form-data') Args(0) { pop->res->body('is_multipart1') } sub under :Chained('start') CaptureArgs(0) { } - sub is_json_under : Chained('under') PathPart('') Consumes(JSON) Args(0) { pop->res->body('is_json') } - sub is_urlencoded_under : Chained('under') PathPart('') Consumes(UrlEncoded) Args(0) { pop->res->body('is_urlencoded') } - sub is_multipart_under : Chained('under') PathPart('') Consumes(Multipart) Args(0) { pop->res->body('is_multipart') } + sub is_json_under : Chained('under') PathPart('') Consumes(JSON) Args(0) { pop->res->body('is_json2') } + sub is_urlencoded_under : Chained('under') PathPart('') Consumes(UrlEncoded) Args(0) { pop->res->body('is_urlencoded2') } + sub is_multipart_under : Chained('under') PathPart('') Consumes(Multipart) Args(0) { pop->res->body('is_multipart2') } ## Or allow more than one type - sub multi :Chained('start') CaptureArgs(0) { } + sub multi :Chained('start') PathPart('') CaptureArgs(0) { } sub is_more_than_one_1 - : Chained('multi') PathPart('') + : Chained('multi') : Consumes('application/x-www-form-urlencoded') : Consumes('multipart/form-data') : Args(0) @@ -31,7 +31,7 @@ sub start :Chained(/) PathPrefix CaptureArgs(0) { } } sub is_more_than_one_2 - : Chained('multi') PathPart('') + : Chained('multi') : Consumes('HTMLForm') : Args(0) { @@ -39,7 +39,7 @@ sub start :Chained(/) PathPrefix CaptureArgs(0) { } } sub is_more_than_one_3 - : Chained('multi') PathPart('') + : Chained('multi') : Consumes('application/x-www-form-urlencoded,multipart/form-data') : Args(0) {