annotate js_async.t @ 1585:bff287fbf347

Tests: added proxy_cookie_domain/path tests with "off" parameter.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 23 Jul 2020 12:17:39 +0300
parents 9d8b100a6ce3
children 9e0347f4df11
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
2
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
3 # (C) Dmitry Volyntsev
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
5
1375
f168fc46c7a4 Tests: renamed JavaScript to njs.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1304
diff changeset
6 # Async tests for http njs module.
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
7
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
8 ###############################################################################
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
9
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
10 use warnings;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
11 use strict;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
12
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
13 use Test::More;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
14
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
16
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
17 use lib 'lib';
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
18 use Test::Nginx;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
19
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
20 ###############################################################################
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
21
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
22 select STDERR; $| = 1;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
23 select STDOUT; $| = 1;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
24
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
25 my $t = Test::Nginx->new()->has(qw/http rewrite/)
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
26 ->write_file_expand('nginx.conf', <<'EOF');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
27
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
28 %%TEST_GLOBALS%%
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
29
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
30 daemon off;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
31
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
32 events {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
33 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
34
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
35 http {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
37
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
38 js_set $test_async set_timeout;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
39 js_set $context_var context_var;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
40
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
41 js_include test.js;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
42
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
43 server {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
44 listen 127.0.0.1:8080;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
45 server_name localhost;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
46
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
47 location /async_var {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
48 return 200 $test_async;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
49 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
50
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
51 location /shared_ctx {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
52 add_header H $context_var;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
53 js_content shared_ctx;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
54 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
55
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
56 location /set_timeout {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
57 js_content set_timeout;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
58 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
59
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
60 location /set_timeout_many {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
61 js_content set_timeout_many;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
62 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
63
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
64 location /set_timeout_data {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
65 postpone_output 0;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
66 js_content set_timeout_data;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
67 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
68
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
69 location /limit_rate {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
70 postpone_output 0;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
71 sendfile_max_chunk 5;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
72 js_content limit_rate;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
73 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
74 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
75 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
76
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
77 EOF
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
78
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
79 $t->write_file('test.js', <<EOF);
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
80 function set_timeout(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
81 var timerId = setTimeout(timeout_cb_r, 5, r, 0);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
82 clearTimeout(timerId);
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
83 setTimeout(timeout_cb_r, 5, r, 0)
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
84 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
85
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
86 function set_timeout_data(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
87 setTimeout(timeout_cb_data, 5, r, 0);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
88 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
89
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
90 function set_timeout_many(r) {
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
91 for (var i = 0; i < 5; i++) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
92 setTimeout(timeout_cb_empty, 5, r, i);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
93 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
94
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
95 setTimeout(timeout_cb_reply, 10, r);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
96 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
97
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
98 function timeout_cb_r(r, cnt) {
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
99 if (cnt == 10) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
100 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
101 r.headersOut['Content-Type'] = 'foo';
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
102 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
103 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
104
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
105 } else {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
106 setTimeout(timeout_cb_r, 5, r, ++cnt);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
107 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
108 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
109
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
110 function timeout_cb_empty(r, arg) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
111 r.log("timeout_cb_empty" + arg);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
112 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
113
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
114 function timeout_cb_reply(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
115 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
116 r.headersOut['Content-Type'] = 'reply';
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
117 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
118 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
119 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
120
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
121 function timeout_cb_data(r, counter) {
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
122 if (counter == 0) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
123 r.log("timeout_cb_data: init");
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
124 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
125 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
126 setTimeout(timeout_cb_data, 5, r, ++counter);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
127
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
128 } else if (counter == 10) {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
129 r.log("timeout_cb_data: finish");
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
130 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
131
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
132 } else {
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
133 r.send("" + counter);
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
134 setTimeout(timeout_cb_data, 5, r, ++counter);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
135 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
136 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
137
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
138 var js_;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
139 function context_var() {
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
140 return js_;
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
141 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
142
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
143 function shared_ctx(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
144 js_ = r.variables.arg_a;
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
145
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
146 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
147 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
148 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
149 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
150
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
151 function limit_rate_cb(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
152 r.finish();
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
153 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
154
1436
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
155 function limit_rate(r) {
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
156 r.status = 200;
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
157 r.sendHeader();
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
158 r.send("AAAAA".repeat(10))
9d8b100a6ce3 Tests: get rid of deprecated njs API in 0.2.2.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 1375
diff changeset
159 setTimeout(limit_rate_cb, 1000, r);
1304
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
160 }
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
161
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
162 EOF
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
163
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
164 $t->try_run('no njs available')->plan(7);
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
165
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
166 ###############################################################################
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
167
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
168 like(http_get('/set_timeout'), qr/Content-Type: foo/, 'setTimeout');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
169 like(http_get('/set_timeout_many'), qr/Content-Type: reply/, 'setTimeout many');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
170 like(http_get('/set_timeout_data'), qr/123456789/, 'setTimeout data');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
171 like(http_get('/shared_ctx?a=xxx'), qr/H: xxx/, 'shared context');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
172 like(http_get('/limit_rate'), qr/A{50}/, 'limit_rate');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
173
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
174 http_get('/async_var');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
175
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
176 $t->stop();
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
177
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
178 ok(index($t->read_file('error.log'), 'pending events') > 0,
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
179 'pending js events');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
180 ok(index($t->read_file('error.log'), 'async operation inside') > 0,
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
181 'async op in var handler');
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
182
25de201c8a0d Tests: added njs async tests.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
183 ###############################################################################