Add tests for passing extra arguments to action constructors.
[catagits/Catalyst-Runtime.git] / t / lib / TestApp / Controller / Action / Action.pm
1 package TestApp::Controller::Action::Action;
2
3 use strict;
4 use base 'TestApp::Controller::Action';
5
6 __PACKAGE__->config(
7     actions => {
8         action_action_five => { ActionClass => '+Catalyst::Action::TestBefore' },
9     },
10     action_args => {
11         '*'                 => { extra_arg         => 42 },
12         action_action_seven => { another_extra_arg => 23 },
13     },
14 );
15
16 sub action_action_one : Global : ActionClass('TestBefore') {
17     my ( $self, $c ) = @_;
18     $c->res->header( 'X-Action', $c->stash->{test} );
19     $c->forward('TestApp::View::Dump::Request');
20 }
21
22 sub action_action_two : Global : ActionClass('TestAfter') {
23     my ( $self, $c ) = @_;
24     $c->stash->{after_message} = 'awesome';
25     $c->forward('TestApp::View::Dump::Request');
26 }
27
28 sub action_action_three : Global : ActionClass('+TestApp::Action::TestBefore') {
29     my ( $self, $c ) = @_;
30     $c->forward('TestApp::View::Dump::Request');
31 }
32
33 sub action_action_four : Global : MyAction('TestMyAction') {
34     my ( $self, $c ) = @_;
35     $c->forward('TestApp::View::Dump::Request');
36 }
37
38 sub action_action_five : Global {
39     my ( $self, $c ) = @_;
40     $c->res->header( 'X-Action', $c->stash->{test} );
41     $c->forward('TestApp::View::Dump::Request');
42 }
43
44 sub action_action_six : Global : ActionClass('~TestMyAction') {
45     my ( $self, $c ) = @_;
46     $c->forward('TestApp::View::Dump::Request');
47 }
48
49 sub action_action_seven : Global : ActionClass('~TestExtraArgsAction') {
50     my ( $self, $c ) = @_;
51     $c->forward('TestApp::View::Dump::Request');
52 }
53
54 1;