Commit | Line | Data |
901367c8 |
1 | package TestApp; |
2 | |
3 | use Catalyst qw[-Engine=Test]; |
4 | |
5 | __PACKAGE__->action( |
6 | |
7 | '!begin' => sub { |
8 | my ( $self, $c ) = @_; |
9 | $c->res->headers->content_type('text/plain'); |
10 | } |
11 | ); |
12 | |
13 | package TestApp::C::Foo; |
14 | |
15 | TestApp->action( |
16 | |
17 | '!begin' => sub { |
18 | my ( $self, $c ) = @_; |
0d03ce86 |
19 | $c->res->output('foo'); |
901367c8 |
20 | }, |
21 | |
0d03ce86 |
22 | '!default' => sub { |
901367c8 |
23 | my ( $self, $c ) = @_; |
32ee1797 |
24 | $c->res->output( $c->res->output . 'foo' ); |
0d03ce86 |
25 | }, |
901367c8 |
26 | |
27 | '!end' => sub { |
28 | my ( $self, $c ) = @_; |
0d03ce86 |
29 | $c->res->output( $c->res->output . 'foo' ); |
901367c8 |
30 | }, |
31 | ); |
32 | |
33 | package TestApp::C::Foo::Bar; |
34 | |
35 | TestApp->action( |
36 | |
37 | '!begin' => sub { |
38 | my ( $self, $c ) = @_; |
39 | $c->res->output( $c->res->output . 'bar' ); |
40 | }, |
41 | |
0d03ce86 |
42 | '!default' => sub { |
901367c8 |
43 | my ( $self, $c ) = @_; |
44 | $c->res->output( $c->res->output . 'bar' ); |
0d03ce86 |
45 | }, |
901367c8 |
46 | |
47 | '!end' => sub { |
48 | my ( $self, $c ) = @_; |
49 | $c->res->output( $c->res->output . 'bar' ); |
50 | }, |
51 | ); |
52 | |
53 | package main; |
54 | |
0d03ce86 |
55 | use Test::More tests => 5; |
901367c8 |
56 | use Catalyst::Test 'TestApp'; |
57 | |
901367c8 |
58 | { |
59 | my $response = request('/foo'); |
111bbcd1 |
60 | is( $response->content, 'foofoofoo' ); |
901367c8 |
61 | } |
62 | |
63 | { |
0d03ce86 |
64 | my $response = request('/foo/rab'); |
111bbcd1 |
65 | is( $response->content, 'foofoofoo' ); |
0d03ce86 |
66 | } |
67 | |
68 | { |
901367c8 |
69 | my $response = request('/foo/bar'); |
111bbcd1 |
70 | is( $response->content, 'foobarfoobarfoobar' ); |
901367c8 |
71 | } |
0d03ce86 |
72 | |
73 | { |
74 | my $response = request('/foobar'); |
111bbcd1 |
75 | isnt( $response->content, 'foofoofoo' ); |
0d03ce86 |
76 | } |
77 | |
78 | { |
79 | my $response = request('/foo_bar/yada'); |
111bbcd1 |
80 | isnt( $response->content, 'foobarfoobarfoobar' ); |
0d03ce86 |
81 | } |