Static::Simple 0.20, fixed static dirs regex and added content-type text/html to...
[catagits/Catalyst-Plugin-Static-Simple.git] / t / 05dirs.t
1 #!perl\r
2 \r
3 use strict;\r
4 use warnings;\r
5 \r
6 use FindBin;\r
7 use lib "$FindBin::Bin/lib";\r
8 \r
9 use Test::More tests => 13;\r
10 use Catalyst::Test 'TestApp';\r
11 \r
12 # test defined static dirs\r
13 TestApp->config->{static}->{dirs} = [\r
14     'always-static',\r
15     qr/^images/,\r
16     'qr/^css/',\r
17 ];\r
18 \r
19 # a file with no extension will return text/plain\r
20 ok( my $res = request('http://localhost/always-static/test'), 'request ok' );\r
21 is( $res->content_type, 'text/plain', 'text/plain ok' );\r
22 \r
23 # a file with an extension in ignore_extensions still gets served\r
24 ok( $res = request('http://localhost/always-static/test.html'), 'request ok' );\r
25 is( $res->code, 200, 'html file in dirs get served' );\r
26 \r
27 # a missing file in a defined static dir will return 404 and text/html\r
28 ok( $res = request('http://localhost/always-static/404.txt'), 'request ok' );\r
29 is( $res->code, 404, '404 ok' );\r
30 is( $res->content_type, 'text/html', '404 is text/html' );\r
31 \r
32 # qr regex test\r
33 ok( $res = request('http://localhost/images/catalyst.png'), 'request ok' );\r
34 is( $res->content_type, 'image/png', 'qr regex path ok' );\r
35 \r
36 # eval regex test\r
37 ok( $res = request('http://localhost/css/static.css'), 'request ok' );\r
38 like( $res->content, qr/background/, 'eval regex path ok' );\r
39 \r
40 # A static dir with no trailing slash is handled by Cat\r
41 ok( $res = request('http://localhost/always-static'), 'request ok' );\r
42 is( $res->content, 'default', 'content ok' );