6 package MyApp::Controller::Root;
7 $INC{'MyApp/Controller/Root.pm'} = __FILE__;
10 use MooseX::MethodAttributes;
12 extends 'Catalyst::Controller';
14 sub chain_base :Chained(/) CaptureArgs(1) { }
16 sub chained_one_args_0 : Chained(chain_base) PathPart('') Args(1) { $_[1]->res->body('chained_one_args_0') }
17 sub chained_one_args_1 : Chained(chain_base) PathPart('') Args(1) { $_[1]->res->body('chained_one_args_1') }
18 sub chained_one_args_2 : Chained(chain_base) PathPart('') Args(1) { $_[1]->res->body('chained_one_args_2') }
20 sub chained_zero_args_0 : Chained(chain_base) PathPart('') Args(0) { $_[1]->res->body('chained_zero_args_0') }
21 sub chained_zero_args_1 : Chained(chain_base) PathPart('') Args(0) { $_[1]->res->body('chained_zero_args_1') }
22 sub chained_zero_args_2 : Chained(chain_base) PathPart('') Args(0) { $_[1]->res->body('chained_zero_args_2') }
24 MyApp::Controller::Root->config(namespace=>'');
29 #MyApp->config(use_chained_args_0_special_case=>1);
35 [debug] Loaded Chained actions:
36 .-----------------------------------------+---------------------------------------------------.
37 | Path Spec | Private |
38 +-----------------------------------------+---------------------------------------------------+
39 | /chain_base/*/* | /chain_base (1) |
40 | | => /chained_one_args_0 (1) |
41 | /chain_base/*/* | /chain_base (1) |
42 | | => /chained_one_args_1 (1) |
43 | /chain_base/* | /chain_base (1) |
44 | | => /chained_zero_args_0 (0) |
45 | /chain_base/* | /chain_base (1) |
46 | | => /chained_zero_args_1 (0) |
47 '-----------------------------------------+---------------------------------------------------'
51 use Catalyst::Test 'MyApp';
53 my $res = request '/chain_base/capturearg/arg';
54 is $res->content, 'chained_one_args_2', "request '/chain_base/capturearg/arg'";
58 my $res = request '/chain_base/capturearg';
59 is $res->content, 'chained_zero_args_2', "request '/chain_base/capturearg'";