i want some kick ass tests for this :)
[catagits/Catalyst-Runtime.git] / t / 18inheritance.t
CommitLineData
901367c8 1package TestApp;
2
3use 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
13package TestApp::C::Foo;
14
15TestApp->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
33package TestApp::C::Foo::Bar;
34
35TestApp->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
53package main;
54
0d03ce86 55use Test::More tests => 5;
901367c8 56use 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}