Add tests which should fail, but don't.
Tomas Doran [Mon, 8 Feb 2010 20:14:56 +0000 (20:14 +0000)]
I think this is what was being got at in the mail
http://lists.scsys.co.uk/pipermail/catalyst/2010-February/024582.html
but these tests dont fail..

t/catalyst-action-serialize-accept.t
t/lib/Test/Catalyst/Action/REST/Controller/Override.pm [new file with mode: 0644]

index 8b9408f..64732f5 100644 (file)
@@ -1,6 +1,6 @@
 use strict;
 use warnings;
-use Test::More tests => 16;
+use Test::More;
 use Data::Serializer;
 use FindBin;
 
@@ -88,4 +88,14 @@ SKIP: {
     is( $res->header('Content-type'), 'text/x-data-dumper', '... with expected content-type')
 }
 
-1;
+# Make sure that the default content type you specify really gets used.
+{
+    my $req = $t->get(url => '/override/test');
+    $req->remove_header('Content-Type');
+    my $res = request($req);
+    ok( $res->is_success, 'GET the serialized request succeeded' );
+    is( $res->content, "--- \nlou: is my cat\n", "Request returned proper data");
+}
+
+done_testing;
+
diff --git a/t/lib/Test/Catalyst/Action/REST/Controller/Override.pm b/t/lib/Test/Catalyst/Action/REST/Controller/Override.pm
new file mode 100644 (file)
index 0000000..7bd0eae
--- /dev/null
@@ -0,0 +1,22 @@
+package Test::Catalyst::Action::REST::Controller::Override;
+
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller' }
+
+__PACKAGE__->config(
+    'default'   => 'application/json',
+    'map'       => {
+        'application/json'   => 'YAML', # Yes, this is deliberate!
+    },
+);
+
+sub test :Local :ActionClass('Serialize') {
+    my ( $self, $c ) = @_;
+    $c->stash->{'rest'} = {
+        lou => 'is my cat',
+    };
+}
+
+1;