File Coverage

File:t/6-security.t
Coverage:98.1%

linestmtbrancondsubpodtimecode
1
1
1
1
1272034662998704
12942
10
use Test::More;
2
1
1
1
461
2098
6
use Test::Exception;
3
1
1
1
348
934167
19
use Catalyst ();
4
1
1
1
215
927
32
use FindBin;
5
1
1
1
168
130088
19
use DateTime;
6
1
1
1
4
1
48
use DateTime::Duration;
7
8
1
440038
plan skip_all => 'this test is skipped under windows' if ($^O =~ m{Win}xms);
9
10# a simple package
11{
12
1
1
    package MyApp::Controller::Js;
13
1
1
1
4
1
10
    use Moose;
14
1
9
    extends 'Catalyst::Controller::Combine';
15
16
1
2801
    __PACKAGE__->config(
17    # expire => 1,
18    # expire_in => 60 * 60, # 1 hour
19    );
20}
21
22# setup our Catalyst :-)
23
1
213
my $c = Catalyst->new();
24
1
369
$c->setup_log();
25
1
899
$c->setup_home("$FindBin::Bin");
26
27
1
701
my $controller;
28
1
1
18
94
lives_ok { $controller = $c->setup_component('MyApp::Controller::Js') } 'setup component worked';
29
30
31#
32# check if expires header is sent, if feature isn't turned on
33#
34
1
337
$c->response->body('');
35
1
1
200
83
lives_ok { $controller->do_combine($c, 'js1') } 'file inside root_dir lives';
36
37
1
278
$c->response->body('');
38
1
1
44
81
dies_ok { $controller->do_combine($c, 'js1', '../../../6-security.t') } 'file outside root_dir dies';
39
40
1
1817
$c->response->body('');
41
1
1
42
78
lives_ok { $controller->do_combine($c, 'js1', '../../../xx_notexisting.js') } 'not existing file outside root_dir lives';
42
43
1
252
done_testing;