X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTestApp%2FController%2FAction%2FChained.pm;fp=t%2Flib%2FTestApp%2FController%2FAction%2FChained.pm;h=61210dc77392e74481df815e8687472b107be4a2;hb=6365b5279cf3bbecd61735b3b744809983a7bfdc;hp=e89b8e0a7371a542d6e14978adf6cbce5bf71e76;hpb=4dca6c081be62b6542fda0a8098e8787dd5bcae2;p=catagits%2FCatalyst-Runtime.git diff --git a/t/lib/TestApp/Controller/Action/Chained.pm b/t/lib/TestApp/Controller/Action/Chained.pm index e89b8e0..61210dc 100644 --- a/t/lib/TestApp/Controller/Action/Chained.pm +++ b/t/lib/TestApp/Controller/Action/Chained.pm @@ -158,6 +158,23 @@ sub mult_nopp_id : Chained('mult_nopp_base') PathPart('') CaptureArgs(1) { } sub mult_nopp_idall : Chained('mult_nopp_id') PathPart('') Args(0) { } sub mult_nopp_idnew : Chained('mult_nopp_id') PathPart('new') Args(0) { } +# +# Test Choice between branches and early return logic +# Declaration order is important for $children->{$*}, since this is first match best. +# +sub cc_base : Chained('/') PathPart('chained/choose_capture') CaptureArgs(0) { } +sub cc_link : Chained('cc_base') PathPart('') CaptureArgs(0) { } +sub cc_anchor : Chained('cc_link') PathPart('anchor.html') Args(0) { } +sub cc_all : Chained('cc_base') PathPart('') Args() { } + +sub cc_a : Chained('cc_base') PathPart('') CaptureArgs(1) { } +sub cc_a_link : Chained('cc_a') PathPart('a') CaptureArgs(0) { } +sub cc_a_anchor : Chained('cc_a_link') PathPart('') Args() { } + +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() { } + sub end :Private { my ($self, $c) = @_; return if $c->stash->{no_end};