Refactored the Content-Type negotiation to live in Catalyst::Request::REST.(drolsky)
[catagits/Catalyst-Action-Serialize-Data-Serializer.git] / t / lib / Test / Serialize.pm
index f549e77..cb7c605 100644 (file)
@@ -1,3 +1,4 @@
+
 package Test::Serialize;
 
 use FindBin;
@@ -12,7 +13,7 @@ use Catalyst::Runtime '5.70';
 use Catalyst;
 
 __PACKAGE__->config(
-    name => 'Test::Serialize',
+    name      => 'Test::Serialize',
     serialize => {
         'stash_key' => 'rest',
         'map'       => {
@@ -22,24 +23,34 @@ __PACKAGE__->config(
             'text/x-json'        => 'JSON',
             'text/x-data-dumper' => [ 'Data::Serializer', 'Data::Dumper' ],
             'text/x-data-denter' => [ 'Data::Serializer', 'Data::Denter' ],
-            'text/x-data-taxi'   => [ 'Data::Serializer', 'Data::Taxi'   ],
-            'application/x-storable'    => [ 'Data::Serializer', 'Storable'     ],
-            'application/x-freezethaw'  => [ 'Data::Serializer', 'FreezeThaw'   ],
-            'text/x-config-general' => [ 'Data::Serializer', 'Config::General' ],
-            'text/x-php-serialization' => [ 'Data::Serializer', 'PHP::Serialization' ],
-            'text/broken'        => 'Broken',
+            'text/x-data-taxi'   => [ 'Data::Serializer', 'Data::Taxi' ],
+            'application/x-storable' => [ 'Data::Serializer', 'Storable' ],
+            'application/x-freezethaw' =>
+              [ 'Data::Serializer', 'FreezeThaw' ],
+            'text/x-config-general' =>
+              [ 'Data::Serializer', 'Config::General' ],
+            'text/x-php-serialization' =>
+              [ 'Data::Serializer', 'PHP::Serialization' ],
+            'text/view'   => [ 'View', 'Simple' ],
+            'text/broken' => 'Broken',
         },
     }
 );
 
 __PACKAGE__->setup;
+__PACKAGE__->setup_component("Test::Serialize::View::Simple");
 
-sub monkey_put :Local :ActionClass('Deserialize') {
+sub monkey_put : Local : ActionClass('Deserialize') {
     my ( $self, $c ) = @_;
-    $c->res->output($c->req->data->{'sushi'});
+
+       if ( ref($c->req->data) eq "HASH" ) {
+               $c->res->output( $c->req->data->{'sushi'} );
+       } else {
+               $c->res->output(1)
+       }
 }
 
-sub monkey_get :Local :ActionClass('Serialize') {
+sub monkey_get : Local : ActionClass('Serialize') {
     my ( $self, $c ) = @_;
     $c->stash->{'rest'} = { monkey => 'likes chicken!', };
 }