1074
|
1 #!/usr/bin/perl
|
|
2
|
|
3 # (C) Maxim Dounin
|
|
4
|
|
5 # Tests for embedded perl module.
|
|
6
|
|
7 ###############################################################################
|
|
8
|
|
9 use warnings;
|
|
10 use strict;
|
|
11
|
|
12 use Test::More;
|
|
13
|
|
14 use Socket qw/ CRLF /;
|
|
15
|
|
16 BEGIN { use FindBin; chdir($FindBin::Bin); }
|
|
17
|
|
18 use lib 'lib';
|
|
19 use Test::Nginx;
|
|
20
|
|
21 ###############################################################################
|
|
22
|
|
23 select STDERR; $| = 1;
|
|
24 select STDOUT; $| = 1;
|
|
25
|
|
26 my $t = Test::Nginx->new()->has(qw/http perl ssi/)->plan(3)
|
|
27 ->write_file_expand('nginx.conf', <<'EOF');
|
|
28
|
|
29 %%TEST_GLOBALS%%
|
|
30
|
|
31 daemon off;
|
|
32
|
|
33 events {
|
|
34 }
|
|
35
|
|
36 http {
|
|
37 %%TEST_GLOBALS_HTTP%%
|
|
38
|
|
39 server {
|
|
40 listen 127.0.0.1:8080;
|
|
41 server_name localhost;
|
|
42
|
|
43 location / {
|
|
44 ssi on;
|
|
45 }
|
|
46
|
|
47 location /dummy {
|
|
48 perl 'sub foo { my $r = shift; $r->print(join ",", @_); }';
|
|
49 }
|
|
50 }
|
|
51 }
|
|
52
|
|
53 EOF
|
|
54
|
|
55 $t->write_file('t1.html', 'X<!--#perl sub="foo" arg="arg1" -->X');
|
|
56 $t->write_file('t2.html', 'X<!--#perl sub="foo" arg="arg1" arg="arg2" -->X');
|
|
57 $t->write_file('noargs.html', 'X<!--#perl sub="foo" -->X');
|
|
58
|
|
59 $t->run();
|
|
60
|
|
61 ###############################################################################
|
|
62
|
|
63 like(http_get('/t1.html'), qr/Xarg1X/, 'perl ssi response');
|
|
64 like(http_get('/t2.html'), qr/Xarg1,arg2X/, 'perl ssi two args');
|
|
65 like(http_get('/noargs.html'), qr/XX/, 'perl ssi noargs');
|
|
66
|
|
67 ###############################################################################
|