annotate js.t @ 1021:ebdf239722b9

Tests: relaxed proxy_cache_lock.t nolock tests to fix on Solaris. Assumed that the order of responses being arrived in nolock case may be ignored. An important part of such case is that the only last response should be cached.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 02 Sep 2016 12:17:35 +0300
parents 4a0e1d7cc20b
children 4b0b10e39a08
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) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
144 var s;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
145 s = '';
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
146 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
147 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
148 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
149 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
150 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
151 return s;
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
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
154 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
155 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
156 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
157
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
158 function test_iarg(req, res) {
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
159 var s;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
160 s = '';
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
161 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
162 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
163 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
164 }
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 return s;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
167 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
168
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
169 function test_var(req, res) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
170 return 'variable=' + req.variables.remote_addr;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
171 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
172
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
173 function test_log(req, res) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
174 req.log("SEE-THIS");
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
175 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
176
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
177 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
178 res.status = 204;
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
179 if (res.status != 204)
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
180 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
181 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
182 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
183 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
184
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
185 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
186 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
187 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
188 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
189 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
190 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
191
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
192 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
193 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
194 res.contentLength = 5;
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
195 if (res.contentLength != 5)
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
196 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
197 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
198 res.send('foo12');
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
199 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
200 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
201
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
202 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
203 var a, s;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
204 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
205 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
206 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
207 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
208 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
209 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
210 }
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 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
213 }
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
214
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
215 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
216 res.status = 200;
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
217 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
218
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
219 if (req.args.bar) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
220 res.headers['Bar'] = res.headers['Foo'];
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
221 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
222
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
223 if (req.args.bar == 'empty') {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
224 res.headers['Bar'] = res.headers['Baz'];
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
225 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
226
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
227 res.sendHeader();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
228 res.finish();
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
229 }
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
230
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
231 function ihdr(req, res) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
232 res.status = 200;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
233 res.headers['a'] = req.args.a;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
234 res.headers['b'] = req.args.b;
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
235
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
236 s = '';
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
237 for (h in res.headers) {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
238 s += res.headers[h];
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
239 }
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
240
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
241 res.sendHeader();
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
242 res.send(s);
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
243 res.finish();
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
244 }
993
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
245 EOF
3ee5ca1ec728 Tests: updated js.t to the new http js module syntax.
Sergey Kandaurov <pluknet@nginx.com>
parents: 974
diff changeset
246
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
247 $t->try_run('no njs available')->plan(20);
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
248
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
249 ###############################################################################
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
250
994
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
251 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
252 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
253 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
254 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
255 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
256 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
257 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
258 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
259 'req.args iteration');
1001
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
260 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
261 like(http_get('/req_log'), qr/200 OK/, 'req.log');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
262
994
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
263 like(http_get('/res_status'), qr/204 No Content/, 'res.status');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
264 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
265 'res.contentType');
345a655ef643 Tests: fixed js.t tests description.
Sergey Kandaurov <pluknet@nginx.com>
parents: 993
diff changeset
266 like(http_get('/res_clen'), qr/Content-Length: 5/, 'res.contentLength');
708
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
267 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
268 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
269 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
270 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
271 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
272 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
273
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
274 TODO: {
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
275 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
276
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
277 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
278
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
279 $t->todo_alerts();
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 }
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 $t->stop();
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
284
4a0e1d7cc20b Tests: more JavaScript tests for http js module.
Sergey Kandaurov <pluknet@nginx.com>
parents: 994
diff changeset
285 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
286
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
287 ###############################################################################
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
288
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
289 sub http_get_hdr {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
290 my ($url, %extra) = @_;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
291 return http(<<EOF, %extra);
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
292 GET $url HTTP/1.0
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
293 FoO: 12345
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 EOF
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
296 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
297
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
298 sub http_get_ihdr {
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
299 my ($url, %extra) = @_;
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
300 return http(<<EOF, %extra);
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
301 GET $url HTTP/1.0
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
302 foo: 12345
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
303 Host: localhost
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
304 foo2: bar
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
305 X-xxx: more
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
306 foo-3: z
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 EOF
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
309 }
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
310
71a2d58c0a7f Tests: JavaScript tests.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
311 ###############################################################################