annotate js.t @ 1240:f7eb2875ed45

Tests: avoid interleaved output in Upgrade handling tests. When the testing script is run in verbose mode by prove that redirects stdout, a garbled verbose mode line from backend can be produced that incorporates TAP output of an individual test result, which eventually breaks the testing plan. Notably, this happens when testing sending multiple frames if backend started to respond before all frames were received. This is possible due to the line boundary used as an indicator of last bytes to receive before starting to send. The fix is to amend the only last frame of many specially, for that purpose.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 15 Nov 2017 20:16:09 +0300
parents 4b0b10e39a08
children edf5a3c9e36a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
2
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
3 # (C) Roman Arutyunyan
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
4
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
5 # Tests for http JavaScript module.
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
6
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
7 ###############################################################################
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
8
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
9 use warnings;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
10 use strict;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
11
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
12 use Test::More;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
13
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
14 BEGIN { use FindBin; chdir($FindBin::Bin); }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
15
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
16 use lib 'lib';
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
17 use Test::Nginx;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
18
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
19 ###############################################################################
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
20
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
21 select STDERR; $| = 1;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
22 select STDOUT; $| = 1;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
23
864
460a9cadbd2f Tests: do not check for njs presence, just try js.t configuration.
Sergey Kandaurov <pluknet@nginx.com>
parents: 709
diff changeset
24 my $t = Test::Nginx->new()->has(qw/http rewrite/)
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
25 ->write_file_expand('nginx.conf', <<'EOF');
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
26
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
27 %%TEST_GLOBALS%%
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
28
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
29 daemon off;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
30
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
31 events {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
32 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
33
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
34 http {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
35 %%TEST_GLOBALS_HTTP%%
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
36
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
37 js_set $test_method test_method;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
38 js_set $test_version test_version;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
39 js_set $test_addr test_addr;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
40 js_set $test_uri test_uri;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
41 js_set $test_hdr test_hdr;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
42 js_set $test_ihdr test_ihdr;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
43 js_set $test_arg test_arg;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
44 js_set $test_iarg test_iarg;
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
45 js_set $test_var test_var;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
46 js_set $test_log test_log;
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
47
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
48 js_include test.js;
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
49
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
50 server {
974
882267679006 Tests: simplified parallel modifications in tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 952
diff changeset
51 listen 127.0.0.1:8080;
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
52 server_name localhost;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
53
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
54 location /req_method {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
55 return 200 $test_method;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
56 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
57
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
58 location /req_version {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
59 return 200 $test_version;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
60 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
61
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
62 location /req_addr {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
63 return 200 $test_addr;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
64 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
65
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
66 location /req_uri {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
67 return 200 $test_uri;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
68 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
69
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
70 location /req_hdr {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
71 return 200 $test_hdr;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
72 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
73
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
74 location /req_ihdr {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
75 return 200 $test_ihdr;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
76 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
77
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
78 location /req_arg {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
79 return 200 $test_arg;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
80 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
81
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
82 location /req_iarg {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
83 return 200 $test_iarg;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
84 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
85
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
86 location /req_var {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
87 return 200 $test_var;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
88 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
89
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
90 location /req_log {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
91 return 200 $test_log;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
92 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
93
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
94 location /res_status {
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
95 js_content status;
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
96 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
97
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
98 location /res_ctype {
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
99 js_content ctype;
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
100 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
101
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
102 location /res_clen {
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
103 js_content clen;
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
104 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
105
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
106 location /res_send {
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
107 js_content send;
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
108 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
109
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
110 location /res_hdr {
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
111 js_content hdr;
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
112 }
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
113
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
114 location /res_ihdr {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
115 js_content ihdr;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
116 }
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
117 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
118 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
119
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
120 EOF
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
121
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
122 $t->write_file('test.js', <<EOF);
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
123 function test_method(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
124 return 'method=' + req.method;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
125 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
126
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
127 function test_version(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
128 return 'version=' + req.httpVersion;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
129 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
130
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
131 function test_addr(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
132 return 'addr=' + req.remoteAddress;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
133 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
134
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
135 function test_uri(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
136 return 'uri=' + req.uri;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
137 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
138
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
139 function test_hdr(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
140 return 'hdr=' + req.headers.foo;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
141 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
142
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
143 function test_ihdr(req, res) {
1106
4b0b10e39a08 Tests: fixed implicitly declared njs variables after 4337ed48d6d6.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1001
diff changeset
144 var s = '', h;
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
145 for (h in req.headers) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
146 if (h.substr(0, 3) == 'foo') {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
147 s += req.headers[h];
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
148 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
149 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
150 return s;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
151 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
152
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
153 function test_arg(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
154 return 'arg=' + req.args.foo;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
155 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
156
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
157 function test_iarg(req, res) {
1106
4b0b10e39a08 Tests: fixed implicitly declared njs variables after 4337ed48d6d6.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1001
diff changeset
158 var s = '', a;
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
159 for (a in req.args) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
160 if (a.substr(0, 3) == 'foo') {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
161 s += req.args[a];
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
162 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
163 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
164 return s;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
165 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
166
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
167 function test_var(req, res) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
168 return 'variable=' + req.variables.remote_addr;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
169 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
170
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
171 function test_log(req, res) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
172 req.log("SEE-THIS");
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
173 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
174
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
175 function status(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
176 res.status = 204;
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
177 if (res.status != 204)
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
178 res.status = 404;
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
179 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
180 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
181 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
182
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
183 function ctype(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
184 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
185 res.contentType = 'application/foo';
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
186 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
187 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
188 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
189
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
190 function clen(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
191 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
192 res.contentLength = 5;
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
193 if (res.contentLength != 5)
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
194 res.contentLength = 6;
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
195 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
196 res.send('foo12');
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
197 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
198 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
199
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
200 function send(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
201 var a, s;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
202 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
203 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
204 for (a in req.args) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
205 if (a.substr(0, 3) == 'foo') {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
206 s = req.args[a];
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
207 res.send('n=' + a + ', v=' + s.substr(0, 2) + ' ');
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
208 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
209 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
210 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
211 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
212
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
213 function hdr(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
214 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
215 res.headers['Foo'] = req.args.fOO;
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
216
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
217 if (req.args.bar) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
218 res.headers['Bar'] = res.headers['Foo'];
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
219 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
220
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
221 if (req.args.bar == 'empty') {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
222 res.headers['Bar'] = res.headers['Baz'];
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
223 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
224
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
225 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
226 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
227 }
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
228
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
229 function ihdr(req, res) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
230 res.status = 200;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
231 res.headers['a'] = req.args.a;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
232 res.headers['b'] = req.args.b;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
233
1106
4b0b10e39a08 Tests: fixed implicitly declared njs variables after 4337ed48d6d6.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1001
diff changeset
234 var s = '', h;
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
235 for (h in res.headers) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
236 s += res.headers[h];
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
237 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
238
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
239 res.sendHeader();
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
240 res.send(s);
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
241 res.finish();
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
242 }
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
243 EOF
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
244
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
245 $t->try_run('no njs available')->plan(20);
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
246
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
247 ###############################################################################
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
248
994
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
249 like(http_get('/req_method'), qr/method=GET/, 'req.method');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
250 like(http_get('/req_version'), qr/version=1.0/, 'req.httpVersion');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
251 like(http_get('/req_addr'), qr/addr=127.0.0.1/, 'req.remoteAddress');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
252 like(http_get('/req_uri'), qr/uri=\/req_uri/, 'req.uri');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
253 like(http_get_hdr('/req_hdr'), qr/hdr=12345/, 'req.headers');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
254 like(http_get_ihdr('/req_ihdr'), qr/12345barz/, 'req.headers iteration');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
255 like(http_get('/req_arg?foO=12345'), qr/arg=12345/, 'req.args');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
256 like(http_get('/req_iarg?foo=12345&foo2=bar&nn=22&foo-3=z'), qr/12345barz/,
994
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
257 'req.args iteration');
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
258 like(http_get('/req_var'), qr/variable=127.0.0.1/, 'req.variables');
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
259 like(http_get('/req_log'), qr/200 OK/, 'req.log');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
260
994
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
261 like(http_get('/res_status'), qr/204 No Content/, 'res.status');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
262 like(http_get('/res_ctype'), qr/Content-Type: application\/foo/,
994
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
263 'res.contentType');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
264 like(http_get('/res_clen'), qr/Content-Length: 5/, 'res.contentLength');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
265 like(http_get('/res_send?foo=12345&n=11&foo-2=bar&ndd=&foo-3=z'),
994
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
266 qr/n=foo, v=12 n=foo-2, v=ba n=foo-3, v=z/, 'res.send');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
267 like(http_get('/res_hdr?foo=12345'), qr/Foo: 12345/, 'res.headers');
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
268 like(http_get('/res_hdr?foo=123&bar=copy'), qr/Bar: 123/, 'res.headers get');
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
269 like(http_get('/res_hdr?bar=empty'), qr/Bar: \x0d/, 'res.headers empty');
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
270 like(http_get('/res_ihdr?a=12&b=34'), qr/^1234$/m, 'res.headers iteration');
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
271
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
272 TODO: {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
273 local $TODO = 'zero size buf in writer';
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
274
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
275 like(http_get('/res_ihdr'), qr/\x0d\x0a?\x0d\x0a?$/m, 'res.send zero');
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
276
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
277 $t->todo_alerts();
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
278
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
279 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
280
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
281 $t->stop();
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
282
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
283 ok(index($t->read_file('error.log'), 'SEE-THIS') > 0, 'log js');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
284
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
285 ###############################################################################
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
286
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
287 sub http_get_hdr {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
288 my ($url, %extra) = @_;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
289 return http(<<EOF, %extra);
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
290 GET $url HTTP/1.0
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
291 FoO: 12345
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
292
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
293 EOF
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
294 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
295
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
296 sub http_get_ihdr {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
297 my ($url, %extra) = @_;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
298 return http(<<EOF, %extra);
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
299 GET $url HTTP/1.0
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
300 foo: 12345
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
301 Host: localhost
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
302 foo2: bar
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
303 X-xxx: more
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
304 foo-3: z
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
305
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
306 EOF
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
307 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
308
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
309 ###############################################################################