X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Funit_dispatcher_requestargs_restore.t;fp=t%2Faggregate%2Funit_dispatcher_requestargs_restore.t;h=9c4b7fab06cc17ccb74d7003551abf8c00e2c4c4;hb=4a41d5d1ec3187cc41e15767b21c14b2aee31740;hp=0000000000000000000000000000000000000000;hpb=2757db2c7c600c8a0b8e2b4366f38c97804c2844;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/unit_dispatcher_requestargs_restore.t b/t/aggregate/unit_dispatcher_requestargs_restore.t new file mode 100644 index 0000000..9c4b7fa --- /dev/null +++ b/t/aggregate/unit_dispatcher_requestargs_restore.t @@ -0,0 +1,21 @@ +# Insane test case for the behavior needed by Plugin::Auhorization::ACL + +# We have to localise $c->request->{arguments} in +# Catalyst::Dispatcher::_do_forward, rather than using save and restore, +# as otherwise, the calling $c->detach on an action which says +# die $Catalyst:DETACH causes the request arguments to not get restored, +# and therefore sub gorch gets the wrong string $frozjob parameter. + +# Please feel free to break this behavior once a sane hook for safely +# executing another action from the dispatcher (i.e. wrapping actions) +# is present, so that the Authorization::ACL plugin can be re-written +# to not be full of such crazy shit. + +use strict; +use warnings; +use FindBin qw/$Bin/; +use lib "$Bin/../lib"; +use Catalyst::Test 'ACLTestApp'; +use Test::More tests => 1; + +request('http://localhost/gorch/wozzle');