Commit | Line | Data |
ae0e35ee |
1 | package TestApp::Controller::Action::Visit; |
2 | |
3 | use strict; |
4 | use base 'TestApp::Controller::Action'; |
5 | |
6 | sub one : Local { |
7 | my ( $self, $c ) = @_; |
8 | $c->visit('two'); |
9 | } |
10 | |
11 | sub two : Private { |
12 | my ( $self, $c ) = @_; |
13 | $c->visit('three'); |
14 | } |
15 | |
16 | sub three : Local { |
17 | my ( $self, $c ) = @_; |
18 | $c->visit( $self, 'four' ); |
19 | } |
20 | |
21 | sub four : Private { |
22 | my ( $self, $c ) = @_; |
23 | $c->visit('/action/visit/five'); |
24 | } |
25 | |
26 | sub five : Local { |
27 | my ( $self, $c ) = @_; |
28 | $c->forward('View::Dump::Request'); |
29 | } |
30 | |
31 | sub inheritance : Local { |
32 | my ( $self, $c ) = @_; |
33 | $c->visit('/action/inheritance/a/b/default'); |
34 | } |
35 | |
36 | sub global : Local { |
37 | my ( $self, $c ) = @_; |
38 | $c->visit('/global_action'); |
39 | } |
40 | |
41 | sub with_args : Local { |
42 | my ( $self, $c, $arg ) = @_; |
43 | $c->visit( 'args', [$arg] ); |
44 | } |
45 | |
46 | sub with_method_and_args : Local { |
47 | my ( $self, $c, $arg ) = @_; |
48 | $c->visit( qw/TestApp::Controller::Action::Visit args/, [$arg] ); |
49 | } |
50 | |
51 | sub args : Local { |
52 | my ( $self, $c, $val ) = @_; |
53 | die "passed argument does not match args" unless $val eq $c->req->args->[0]; |
54 | $c->res->body($val); |
55 | } |
56 | |
57 | sub visit_die : Local { |
58 | my ( $self, $c, $val ) = @_; |
59 | eval { $c->visit( 'args', [qq/new/] ) }; |
60 | $c->res->body( $@ ? $@ : "visit() doesn't die" ); |
61 | } |
62 | |
63 | sub visit_chained : Local { |
64 | my ( $self, $c, $val ) = @_; |
65 | $c->visit('/action/chained/foo/spoon',[1]); |
66 | } |
67 | |
68 | sub view : Local { |
69 | my ( $self, $c, $val ) = @_; |
70 | eval { $c->visit('View::Dump') }; |
71 | $c->res->body( $@ ? $@ : "visit() did not die" ); |
72 | } |
73 | |
74 | sub model : Local { |
75 | my ( $self, $c, $val ) = @_; |
76 | eval { $c->visit('Model::Foo') }; |
77 | $c->res->body( $@ ? $@ : "visit() did not die" ); |
78 | } |
79 | |
80 | sub args_embed_relative : Local { |
81 | my ( $self, $c ) = @_; |
82 | $c->visit('embed/ok'); |
83 | } |
84 | |
85 | sub args_embed_absolute : Local { |
86 | my ( $self, $c ) = @_; |
87 | $c->visit('/action/visit/embed/ok'); |
88 | } |
89 | |
90 | sub embed : Local { |
91 | my ( $self, $c, $ok ) = @_; |
92 | $ok ||= 'not ok'; |
93 | $c->res->body($ok); |
94 | } |
95 | |
96 | sub class_visit_test_action : Local { |
97 | my ( $self, $c ) = @_; |
98 | $c->visit(qw/TestApp class_visit_test_method/); |
99 | } |
100 | |
101 | 1; |