]> git.kaiwu.me - njs.git/commitdiff
Tests: fixed js tests for Fetch API for nginx-1.22 and below.
authorDmitry Volyntsev <xeioex@nginx.com>
Mon, 6 Feb 2023 17:36:13 +0000 (09:36 -0800)
committerDmitry Volyntsev <xeioex@nginx.com>
Mon, 6 Feb 2023 17:36:13 +0000 (09:36 -0800)
The fix is to move a test with multiple headers returned by $http_a
variable under an nginx version check.

nginx/t/js_fetch_objects.t

index 9f23599ca0355397268987ee5b0fc241fda96758..bac74a067d9a56c9a7906a05ed3e0fb13ba1b2e3 100644 (file)
@@ -61,6 +61,10 @@ http {
             js_content test.fetch;
         }
 
+        location /fetch_multi_header {
+            js_content test.fetch_multi_header;
+        }
+
         location /method {
             return 200 $request_method;
         }
@@ -450,13 +454,20 @@ $t->write_file('test.js', <<EOF);
                                var body = await r.text();
                 return `\${r.url}: \${r.status} \${body}`;
              }, 'http://127.0.0.1:$p0/body: 201 foo'],
-            ['request body', async () => {
+        ];
+
+        run(r, tests);
+    }
+
+    async function fetch_multi_header(r) {
+        const tests = [
+            ['request multi header', async () => {
                 var h = new Headers({a: 'X'});
                 h.append('a', 'Z');
                 var req = new Request("http://127.0.0.1:$p0/header",
                                       {headers: h});
-                               var r = await ngx.fetch(req);
-                               var body = await r.text();
+                var r = await ngx.fetch(req);
+                var body = await r.text();
                 return `\${r.url}: \${r.status} \${body}`;
              }, 'http://127.0.0.1:$p0/header: 200 X, Z'],
         ];
@@ -464,10 +475,11 @@ $t->write_file('test.js', <<EOF);
         run(r, tests);
     }
 
-     export default {njs: test_njs, body, headers, request, response, fetch};
+     export default {njs: test_njs, body, headers, request, response, fetch,
+                     fetch_multi_header};
 EOF
 
-$t->try_run('no njs')->plan(4);
+$t->try_run('no njs')->plan(5);
 
 ###############################################################################
 
@@ -478,6 +490,14 @@ like(http_get('/request'), qr/200 OK/s, 'request tests');
 like(http_get('/response'), qr/200 OK/s, 'response tests');
 like(http_get('/fetch'), qr/200 OK/s, 'fetch tests');
 
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.23.0');
+
+like(http_get('/fetch_multi_header'), qr/200 OK/s,
+       'fetch multi header tests');
+
+}
+
 ###############################################################################
 
 sub has_version {