more testing
[catagits/Catalyst-Runtime.git] / t / middleware-stash.t
CommitLineData
4b0b7489 1use warnings;
2use strict;
3
4{
5
6 package MyAppChild::Controller::User;
7 $INC{'MyAppChild/Controller/User.pm'} = __FILE__;
8
9 use base 'Catalyst::Controller';
10 use Test::More;
11
12 sub stash :Local {
13 my ($self, $c) = @_;
14 $c->stash->{inner} = "inner";
15 $c->res->body( "inner: ${\$c->stash->{inner}}, outer: ${\$c->stash->{outer}}");
16
efa13fa4 17 is_deeply [sort {$a cmp $b} keys(%{$c->stash})], ['inner','outer'], 'both keys in stash';
4b0b7489 18 }
19
20 package MyAppChild;
21 $INC{'MyAppChild.pm'} = __FILE__;
22
23 use Catalyst;
24 MyAppChild->setup;
25
26 package MyAppParent::Controller::User;
27 $INC{'MyAppParent/Controller/User.pm'} = __FILE__;
28
29 use base 'Catalyst::Controller';
30 use Test::More;
31
32 sub stash :Local {
33 my ($self, $c) = @_;
34 $c->stash->{outer} = "outer";
35 $c->res->from_psgi_response( MyAppChild->to_app->($c->req->env) );
36
efa13fa4 37 is_deeply [keys(%{$c->stash})], ['outer'], 'only one key in stash';
4b0b7489 38 }
39
40 package MyAppParent;
41 use Catalyst;
42 MyAppParent->setup;
43
44}
45
46use Test::More;
47use Catalyst::Test 'MyAppParent';
48
49my $res = request '/user/stash';
50is $res->content, 'inner: inner, outer: outer', 'got expected response';
51
52done_testing;