merged PR
[catagits/Catalyst-Runtime.git] / t / plack-middleware.t
1 #!/usr/bin/env perl
2
3 use warnings;
4 use strict;
5
6 use FindBin;
7 use Test::More;
8 use HTTP::Request::Common;
9
10 use lib "$FindBin::Bin/lib";
11 use Catalyst::Test 'TestMiddleware';
12
13 ok my($res, $c) = ctx_request('/');
14
15 {
16   ok my $response = request GET $c->uri_for_action('/welcome'),
17     'got welcome from a catalyst controller';
18
19   is $response->content, 'Welcome to Catalyst',
20     'expected content body';
21 }
22
23 {
24   ok my $response = request GET $c->uri_for('/static/message.txt'),
25     'got welcome from a catalyst controller';
26
27   like $response->content, qr'static message',
28     'expected content body';
29 }
30
31 {
32   ok my $response = request GET $c->uri_for('/static2/message2.txt'),
33     'got welcome from a catalyst controller';
34
35   like $response->content, qr'static message',
36     'expected content body';
37 }
38
39 {
40   ok my $response = request GET $c->uri_for('/static3/message3.txt'),
41     'got welcome from a catalyst controller';
42
43   like $response->content, qr'static message',
44     'expected content body';
45 }
46
47 {
48   ok my $response = request GET $c->uri_for('/forced'),
49     'got welcome from a catalyst controller';
50
51   like $response->content, qr'forced message',
52     'expected content body';
53
54   ok $response->headers->{"x-runtime"}, "Got value for expected middleware";
55 }
56
57 {
58   my $total_mw = scalar(TestMiddleware->registered_middlewares);
59
60   TestMiddleware->setup_middleware;
61   TestMiddleware->setup_middleware;
62
63   my $post_mw = scalar(TestMiddleware->registered_middlewares);
64
65   is $total_mw, $post_mw, 'Calling ->setup_middleware does not re-add default middleware';
66 }
67
68 done_testing;