Commit | Line | Data |
fbcc39ad |
1 | #!perl\r |
2 | \r |
3 | use strict;\r |
4 | use warnings;\r |
5 | \r |
6 | use FindBin;\r |
7 | use lib "$FindBin::Bin/../../live/lib";\r |
8 | \r |
9 | use Test::More;\r |
10 | use Catalyst::Test 'TestApp';\r |
11 | use Catalyst::Request;\r |
12 | use Config;\r |
13 | \r |
14 | if ( $Config{useithreads} && !$ENV{CATALYST_SERVER} ) {\r |
15 | require threads;\r |
16 | plan tests => 3;\r |
17 | }\r |
18 | else {\r |
19 | if ( $ENV{CATALYST_SERVER} ) {\r |
20 | plan skip_all => 'Using remote server';\r |
21 | }\r |
22 | else {\r |
23 | plan skip_all => 'Needs a Perl with ithreads enabled';\r |
24 | }\r |
25 | }\r |
26 | \r |
27 | no warnings 'redefine';\r |
28 | sub request {\r |
29 | my $thr = threads->new( \r |
30 | sub { TestApp->run(@_) },\r |
31 | @_ \r |
32 | );\r |
33 | $thr->join;\r |
34 | }\r |
35 | \r |
36 | # test that running inside a thread works ok\r |
37 | {\r |
38 | my @expected = qw[\r |
39 | TestApp::Controller::Action::Default->begin\r |
40 | TestApp::Controller::Action::Default->default\r |
41 | TestApp::View::Dump::Request->process\r |
b0652c9d |
42 | TestApp->end\r |
fbcc39ad |
43 | ];\r |
44 | \r |
45 | my $expected = join( ", ", @expected );\r |
46 | \r |
47 | ok( my $response = request('http://localhost/action/default'), 'Request' );\r |
48 | ok( $response->is_success, 'Response Successful 2xx' );\r |
49 | is( $response->header('X-Catalyst-Executed'), $expected, 'Executed actions' );\r |
50 | }\r |