Commit | Line | Data |
d14acb87 |
1 | use CatalystX::Declare; |
2 | namespace TestApp; |
3 | |
4 | role hasActionParams { |
5 | has [qw/p1 p2/] => (is=>'ro', lazy_build=>1); |
6 | |
7 | method _build_p1 { |
34a0a1ff |
8 | join ',', @{$self->attributes->{p1}}; |
d14acb87 |
9 | } |
10 | method _build_p2 { |
34a0a1ff |
11 | join ',', @{$self->attributes->{p2}}; |
d14acb87 |
12 | } |
13 | } |
14 | |
15 | controller ::Controller::ActionParams { |
16 | |
17 | action base |
18 | under '/base' |
19 | as 'actionparams'; |
20 | |
21 | action first under base |
22 | with hasActionParams(p1=>100,p2=>101) |
23 | is final { |
24 | my $p1 = $ctx->controller->action_for('first')->p1; |
25 | my $p2 = $ctx->controller->action_for('first')->p2; |
26 | $ctx->response->body("action_args_first: $p1,$p2"); |
27 | } |
28 | |
29 | action second under base |
30 | with hasActionParams({p1=>200,p2=>201}) |
31 | is final { |
32 | my $p1 = $ctx->controller->action_for('second')->p1; |
33 | my $p2 = $ctx->controller->action_for('second')->p2; |
34 | $ctx->response->body("action_args_second: $p1,$p2"); |
35 | } |
36 | |
e00e30bd |
37 | action third under base |
38 | with hasActionParams( |
39 | p1=>300, |
40 | p2=>301, |
41 | ) is final { |
42 | my $p1 = $ctx->controller->action_for('third')->p1; |
43 | my $p2 = $ctx->controller->action_for('third')->p2; |
44 | $ctx->response->body("action_args_third: $p1,$p2"); |
45 | } |
34a0a1ff |
46 | |
47 | action forth under base |
48 | with (hasActionParams( |
49 | p1=>400, |
50 | p2=>401, |
51 | ), hasActionParams(p1=>1,p2=>2)) is final { |
52 | my $p1 = $ctx->controller->action_for('forth')->p1; |
53 | my $p2 = $ctx->controller->action_for('forth')->p2; |
54 | $ctx->response->body("action_args_forth: $p1,$p2"); |
72a81644 |
55 | |
56 | |
57 | $ctx->_dump($ctx->controller->action_for('forth')); |
34a0a1ff |
58 | } |
d14acb87 |
59 | } |
60 | |