changeset 1257:05b2033f5377

Tests: msie_refresh generic tests.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 06 Dec 2017 19:31:20 +0300
parents fc43a3555095
children 784151520a9a
files msie_refresh.t msie_refresh_ssi.t
diffstat 1 files changed, 30 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
rename from msie_refresh_ssi.t
rename to msie_refresh.t
--- a/msie_refresh_ssi.t
+++ b/msie_refresh.t
@@ -3,7 +3,7 @@
 # (C) Sergey Kandaurov
 # (C) Nginx, Inc.
 
-# Test for msie_refresh in subrequests.
+# Test for msie_refresh.
 
 ###############################################################################
 
@@ -22,7 +22,7 @@ use Test::Nginx;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http rewrite ssi/)->plan(1)
+my $t = Test::Nginx->new()->has(qw/http rewrite ssi/)->plan(5)
 	->write_file_expand('nginx.conf', <<'EOF');
 
 %%TEST_GLOBALS%%
@@ -39,25 +39,46 @@ http {
         listen       127.0.0.1:8080;
         server_name  localhost;
 
+        msie_refresh on;
+
         location / {
-            ssi on;
+            return 301 text;
+        }
+
+        location /space {
+            return 301 "space ";
         }
+
+        location /error_page {
+            return 301;
+            error_page 301 text;
+        }
+
+        location /off {
+            msie_refresh off;
+            return 301 text;
+        }
+
         location /ssi {
-            msie_refresh on;
-            return 301;
+            ssi on;
         }
     }
 }
 
 EOF
 
-$t->write_file('index.html', 'X<!--#include virtual="/ssi.html" -->X');
+$t->write_file('ssi.html', 'X<!--#include virtual="/" -->X');
 $t->run();
 
 ###############################################################################
 
-my $r = get('/', 'User-Agent: MSIE foo');
-unlike($r, qr/\x0d\x0a?0\x0d\x0a?\x0d\x0a?\w/, 'only final chunk');
+like(get('/'), qr/Refresh.*URL=text"/, 'msie refresh');
+like(get('/space'), qr/URL=space%20"/, 'msie refresh escaped url');
+like(get('/error_page'), qr/URL=text"/, 'msie refresh error page');
+
+unlike(get('/off'), qr/Refresh/, 'msie refresh disabled');
+
+unlike(get('/ssi.html'), qr/^0\x0d\x0a?\x0d\x0a?\w/m, 'only final chunk');
 
 ###############################################################################
 
@@ -67,7 +88,7 @@ sub get {
 GET $url HTTP/1.1
 Host: localhost
 Connection: close
-$extra
+User-Agent: MSIE foo
 
 EOF
 }