From: John Napiorkowski Date: Thu, 15 Dec 2016 19:12:53 +0000 (-0600) Subject: Merge branch 'topic/evilstash' X-Git-Tag: 5.90113~2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=14b0dab3b4ba38d8de513a46d902a0eca4068841;hp=6e3dd95f237370a2824e5ecc1419eaed075f0279 Merge branch 'topic/evilstash' --- diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index e68e18c..a71f655 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -2490,6 +2490,7 @@ sub prepare { }; $c->log_request; + $c->{stash} = $c->stash; return $c; } diff --git a/t/evil_stash.t b/t/evil_stash.t new file mode 100644 index 0000000..e97a131 --- /dev/null +++ b/t/evil_stash.t @@ -0,0 +1,37 @@ +use warnings; +use strict; +use Test::More; + +{ + package MyApp::Controller::Root; + $INC{'MyApp/Controller/Root.pm'} = __FILE__; + + use base 'Catalyst::Controller'; + + sub root :Path('') Args(0) { + my ($self, $c) = @_; + $c->{stash}->{foo} = 'bar'; + $c->stash(baz=>'boor'); + $c->{stash}->{baz} = $c->stash->{baz} . 2; + + Test::More::is($c->stash->{foo}, 'bar'); + Test::More::is($c->stash->{baz}, 'boor2'); + Test::More::is($c->{stash}->{foo}, 'bar'); + Test::More::is($c->{stash}->{baz}, 'boor2'); + + $c->res->body('return'); + } + + package MyApp; + use Catalyst; + MyApp->setup; +} + +use HTTP::Request::Common; +use Catalyst::Test 'MyApp'; + +{ + ok my $res = request POST 'root/'; +} + +done_testing();