Change configuration key to 'Plugin::Static::Simple' by default.
[catagits/Catalyst-Plugin-Static-Simple.git] / t / 04static.t
CommitLineData
ee1e7faf 1#!perl
2
3use strict;
4use warnings;
5
6use FindBin;
7use lib "$FindBin::Bin/lib";
8
9# Module::Build craps out on files with spaces so it's not included in the dist
10my $has_space_file = -e "$FindBin::Bin/lib/TestApp/root/files/space file.txt";
11
12use Test::More;
4e8215c6 13plan tests => ($has_space_file) ? 12 : 9;
ee1e7faf 14use Catalyst::Test 'TestApp';
15
16# test getting a css file
17ok( my $res = request('http://localhost/files/static.css'), 'request ok' );
18is( $res->content_type, 'text/css', 'content-type text/css ok' );
19like( $res->content, qr/background/, 'content of css ok' );
20
21# test a file with spaces
22if ( $has_space_file ) {
23 ok( $res = request('http://localhost/files/space file.txt'), 'request ok' );
24 is( $res->content_type, 'text/plain', 'content-type text/plain ok' );
25 like( $res->content, qr/background/, 'content of space file ok' );
26}
27
28# test a non-existent file
29ok( $res = request('http://localhost/files/404.txt'), 'request ok' );
30is( $res->content, 'default', 'default handler for non-existent content ok' );
31
32# test unknown extension
33ok( $res = request('http://localhost/files/err.omg'), 'request ok' );
34is( $res->content_type, 'text/plain', 'unknown extension as text/plain ok' );
4e8215c6 35
36ok( $res = request('http://localhost/files/empty.txt'), 'request ok' );
37is( $res->content, '', 'empty files result in an empty response' );