X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTest%2FSerialize%2FController%2FREST.pm;h=fa1cac2545b8cc3b0b60a2862bbda04dcbb8980b;hb=178f8470708ff2ba9e1a761ceb3cd3c12ad9a778;hp=733508a8c197be057f0b96c43d19e5463ba05c1b;hpb=21d3f6aeb5d5150d2709f9a3d0647d21e9d74d9b;p=catagits%2FCatalyst-Action-REST.git diff --git a/t/lib/Test/Serialize/Controller/REST.pm b/t/lib/Test/Serialize/Controller/REST.pm index 733508a..fa1cac2 100644 --- a/t/lib/Test/Serialize/Controller/REST.pm +++ b/t/lib/Test/Serialize/Controller/REST.pm @@ -1,9 +1,9 @@ package Test::Serialize::Controller::REST; -use warnings; -use strict; +use namespace::autoclean; +use Moose; -use base qw/Catalyst::Controller::REST/; +BEGIN { extends qw/Catalyst::Controller::REST/ }; __PACKAGE__->config( 'namespace' => '', @@ -25,14 +25,26 @@ __PACKAGE__->config( 'text/x-php-serialization' => [ 'Data::Serializer', 'PHP::Serialization' ], 'text/view' => [ 'View', 'Simple' ], + 'text/explodingview' => [ 'View', 'Awful' ], 'text/broken' => 'Broken', + 'text/javascript', => 'JSONP', + 'application/x-javascript' => 'JSONP', + 'application/javascript' => 'JSONP', + 'text/my-csv' => [ + 'Callback', { + deserialize => sub { return {split /,/, shift } }, + serialize => sub { my $d = shift; join ',', %$d } + } + ], }, ); sub monkey_put : Local : ActionClass('Deserialize') { my ( $self, $c ) = @_; if ( ref($c->req->data) eq "HASH" ) { - $c->res->output( $c->req->data->{'sushi'} ); + my $out = ($c->req->data->{'sushi'}||'') . ($c->req->data->{'chicken'}||''); + utf8::encode($out); + $c->res->output( $out ); } else { $c->res->output(1); }