comparison sub_filter_ssi.t @ 406:811fbc213fd8

Tests: sub filter tests with subrequests.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 22 May 2014 21:07:00 +0400
parents
children a47d6e69463e
comparison
equal deleted inserted replaced
405:a8bfad2a3f84 406:811fbc213fd8
1 #!/usr/bin/perl
2
3 # (C) Maxim Dounin
4
5 # Tests for sub filter and subrequests.
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 sub ssi xslt/)->plan(2)
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 types {
40 text/html html;
41 text/xml xml;
42 }
43
44 server {
45 listen 127.0.0.1:8080;
46 server_name localhost;
47
48 location / {
49 ssi on;
50 sub_filter notfoo bar;
51 }
52
53 location /xslt {
54 ssi on;
55 sub_filter_types *;
56 sub_filter root>foo bar;
57 xslt_stylesheet test.xslt;
58 }
59 }
60 }
61
62 EOF
63
64 $t->write_file('index.html', '<!--#include virtual="/not.html" --> truncated');
65 $t->write_file('not.html', 'response is not');
66
67 $t->write_file('xslt.html', '<!--#include virtual="/xslt.xml" --> truncated');
68 $t->write_file('xslt.xml', '<root>test</root>');
69 $t->write_file('test.xslt', <<'EOF');
70
71 <xsl:stylesheet version="1.0"
72 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
73 <xsl:output method="html"/>
74 <xsl:strip-space elements="*"/>
75 <xsl:template match="/">response is not</xsl:template>
76 </xsl:stylesheet>
77
78 EOF
79
80 $t->run();
81
82 ###############################################################################
83
84 TODO: {
85 local $TODO = 'not yet';
86
87 like(http_get('/index.html'), qr/not truncated/, 'subrequest partial match');
88 like(http_get('/xslt.html'), qr/not.*truncated/ms, 'partial match and xslt');
89
90 }
91
92 ###############################################################################