[Catalyst-commits] r6752 - in trunk/Catalyst-View-Mason/t: . lib lib/TestApp/root

rafl at dev.catalyst.perl.org rafl at dev.catalyst.perl.org
Tue Aug 28 16:58:31 GMT 2007


Author: rafl
Date: 2007-08-28 16:58:31 +0100 (Tue, 28 Aug 2007)
New Revision: 6752

Added:
   trunk/Catalyst-View-Mason/t/lib/TestApp/root/foo
   trunk/Catalyst-View-Mason/t/render.t
Modified:
   trunk/Catalyst-View-Mason/t/lib/TestApp.pm
Log:
Add tests for the render method.


Added: trunk/Catalyst-View-Mason/t/lib/TestApp/root/foo
===================================================================
--- trunk/Catalyst-View-Mason/t/lib/TestApp/root/foo	                        (rev 0)
+++ trunk/Catalyst-View-Mason/t/lib/TestApp/root/foo	2007-08-28 15:58:31 UTC (rev 6752)
@@ -0,0 +1,4 @@
+<%args>
+$param
+</%args>
+param: <% $param %>

Modified: trunk/Catalyst-View-Mason/t/lib/TestApp.pm
===================================================================
--- trunk/Catalyst-View-Mason/t/lib/TestApp.pm	2007-08-28 15:58:24 UTC (rev 6751)
+++ trunk/Catalyst-View-Mason/t/lib/TestApp.pm	2007-08-28 15:58:31 UTC (rev 6752)
@@ -2,6 +2,7 @@
 
 use strict;
 use warnings;
+use Scalar::Util qw/blessed/;
 use Catalyst;
 
 our $VERSION = '0.01';
@@ -27,6 +28,23 @@
     my ($self, $c) = @_;
 }
 
+sub render : Local {
+    my ($self, $c) = @_;
+
+    my $out = $c->stash->{message} = $self->view->render(
+            $c, $c->request->param('template'),
+            { param => $c->req->param('param') || '' },
+    );
+
+    if (blessed($out) && $out->isa('HTML::Mason::Exception')) {
+        $c->response->body($out);
+        $c->response->status(403);
+    }
+    else {
+        $c->stash->{template} = 'test';
+    }
+}
+
 sub end : Private {
     my ($self, $c) = @_;
 

Added: trunk/Catalyst-View-Mason/t/render.t
===================================================================
--- trunk/Catalyst-View-Mason/t/render.t	                        (rev 0)
+++ trunk/Catalyst-View-Mason/t/render.t	2007-08-28 15:58:31 UTC (rev 6752)
@@ -0,0 +1,18 @@
+#!perl
+
+use strict;
+use warnings;
+use Test::More tests => 5;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+
+use_ok('Catalyst::Test', 'TestApp');
+
+my $response = request('/render?template=foo&param=foo');
+ok($response->is_success, 'request ok');
+like($response->content, qr/param: foo/, 'message ok');
+
+$response = request('/render?template=does_not_exist');
+ok(!$response->is_success, 'request ok');
+like($response->content, qr{could not find component for initial path '/does_not_exist'}, 'message ok');




More information about the Catalyst-commits mailing list