X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTestApp%2FController%2FAction%2FChained.pm;h=0efdcca8cd04ef830bf7fb1d64a4cf3b681d3e6d;hb=6ebb781872628a74ac0916b163bcf8411b232399;hp=61210dc77392e74481df815e8687472b107be4a2;hpb=6365b5279cf3bbecd61735b3b744809983a7bfdc;p=catagits%2FCatalyst-Runtime.git diff --git a/t/lib/TestApp/Controller/Action/Chained.pm b/t/lib/TestApp/Controller/Action/Chained.pm index 61210dc..0efdcca 100644 --- a/t/lib/TestApp/Controller/Action/Chained.pm +++ b/t/lib/TestApp/Controller/Action/Chained.pm @@ -15,7 +15,11 @@ sub begin :Private { } # # 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) { } # @@ -175,6 +179,22 @@ sub cc_b : Chained('cc_base') PathPart('b') CaptureArgs(0) { } sub cc_b_link : Chained('cc_b') PathPart('') CaptureArgs(1) { } sub cc_b_anchor : Chained('cc_b_link') PathPart('anchor.html') Args() { } +# +# Test static paths vs. captures +# + +sub apan : Chained('/') CaptureArgs(0) PathPrefix { } +sub korv : Chained('apan') CaptureArgs(0) PathPart('') { } +sub wurst : Chained('apan') CaptureArgs(1) PathPart('') { } +sub static_end : Chained('korv') Args(0) { } +sub capture_end : Chained('wurst') Args(0) PathPart('') { } + + +# */search vs doc/* +sub view : Chained('/') PathPart('chained') CaptureArgs(1) {} +sub star_search : Chained('view') PathPart('search') Args(0) { } +sub doc_star : Chained('/') PathPart('chained/doc') Args(1) {} + sub end :Private { my ($self, $c) = @_; return if $c->stash->{no_end};