[Catalyst-commits] r9408 - in Catalyst-Runtime/5.80/trunk/t: aggregate lib/TestApp/Controller/Action

rafl at dev.catalyst.perl.org rafl at dev.catalyst.perl.org
Sun Mar 1 21:02:52 GMT 2009


Author: rafl
Date: 2009-03-01 21:02:52 +0000 (Sun, 01 Mar 2009)
New Revision: 9408

Modified:
   Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_visit.t
   Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Chained.pm
   Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Visit.pm
Log:
Add failing test for passing arguments to visited chained actions.

Courtesy of Radoslaw Zielinski.

Modified: Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_visit.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_visit.t	2009-03-01 17:15:46 UTC (rev 9407)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/live_component_controller_action_visit.t	2009-03-01 21:02:52 UTC (rev 9408)
@@ -10,7 +10,7 @@
 
 BEGIN { $iters = $ENV{CAT_BENCH_ITERS} || 1; }
 
-use Test::More tests => 54 * $iters;
+use Test::More tests => 60 * $iters;
 use Catalyst::Test 'TestApp';
 
 if ( $ENV{CAT_BENCHMARK} ) {
@@ -271,10 +271,13 @@
 
         my $expected = join( ", ", @expected );
 
-        ok( my $response = request('http://localhost/action/visit/visit_chained'), 'visit to chained + subcontroller endpoint' );
-        is( $response->header('X-Catalyst-Executed'),
-            $expected, 'Executed actions' );
-        is( $response->content, '; 1', 'Content OK' );
+        for my $i ( 1..3 ) {
+            ok( my $response = request("http://localhost/action/visit/visit_chained/$i"),
+                "visit to chained + subcontroller endpoint for $i" );
+            is( $response->header('X-Catalyst-Executed'),
+                $expected, "Executed actions for $i" );
+            is( $response->content, "; $i", "Content OK for $i" );
+        }
     }
 
 }

Modified: Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Chained.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Chained.pm	2009-03-01 17:15:46 UTC (rev 9407)
+++ Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Chained.pm	2009-03-01 21:02:52 UTC (rev 9408)
@@ -15,7 +15,11 @@
 #
 #   Simple parent/child action test
 #
-sub foo  :PathPart('chained/foo')  :CaptureArgs(1) :Chained('/') { }
+sub foo  :PathPart('chained/foo')  :CaptureArgs(1) :Chained('/') {
+    my ( $self, $c, @args ) = @_;
+    die "missing argument" unless @args;
+    die "more than 1 argument" if @args > 1;
+}
 sub endpoint  :PathPart('end')  :Chained('/action/chained/foo')  :Args(1) { }
 
 #

Modified: Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Visit.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Visit.pm	2009-03-01 17:15:46 UTC (rev 9407)
+++ Catalyst-Runtime/5.80/trunk/t/lib/TestApp/Controller/Action/Visit.pm	2009-03-01 21:02:52 UTC (rev 9408)
@@ -62,7 +62,9 @@
 
 sub visit_chained : Local {
     my ( $self, $c, $val ) = @_;
-    $c->visit('/action/chained/foo/spoon',[1]);
+      $val eq 1 ? $c->visit( '/action/chained/foo/spoon',                                 [$val] )
+    : $val eq 2 ? $c->visit( qw/ Action::Chained::Foo spoon /,                            [$val] )
+    :             $c->visit( $c->controller('Action::Chained::Foo')->action_for('spoon'), [$val] )
 }
 
 sub view : Local {




More information about the Catalyst-commits mailing list