aboutsummaryrefslogtreecommitdiff
path: root/nginx/t/js_fetch_objects.t
diff options
context:
space:
mode:
Diffstat (limited to 'nginx/t/js_fetch_objects.t')
-rw-r--r--nginx/t/js_fetch_objects.t23
1 files changed, 20 insertions, 3 deletions
diff --git a/nginx/t/js_fetch_objects.t b/nginx/t/js_fetch_objects.t
index 67cabdfc..bc5cc7ed 100644
--- a/nginx/t/js_fetch_objects.t
+++ b/nginx/t/js_fetch_objects.t
@@ -271,7 +271,9 @@ $t->write_file('test.js', <<EOF);
})
} catch (e) {
- if (!e.message.startsWith('Cannot assign to read-only p')) {
+ if (!e.message.startsWith('Cannot assign to read-only p')
+ && !e.message.startsWith('no setter for property'))
+ {
throw e;
}
}
@@ -386,6 +388,17 @@ $t->write_file('test.js', <<EOF);
var body = await r.text();
return `\${body}: \${r.headers.get('Content-Type')}`;
}, 'ABC: text/plain;charset=UTF-8'],
+ ['arrayBuffer()', async () => {
+ var r = new Request("http://nginx.org", {body: 'ABC'});
+ var body = await r.arrayBuffer();
+ body = new Uint8Array(body);
+ return new TextDecoder().decode(body);
+ }, 'ABC'],
+ ['json()', async () => {
+ var r = new Request("http://nginx.org", {body: '{"a": 42}'});
+ var body = await r.json();
+ return body.a;
+ }, 42],
['user content type', async () => {
var r = new Request("http://nginx.org",
{body: 'ABC',
@@ -443,6 +456,12 @@ $t->write_file('test.js', <<EOF);
var body = await r.text();
return `\${r.url}: \${body} \${r.headers.get('b')}`;
}, ': Y'],
+ ['arrayBuffer', async () => {
+ var r = new Response('foo');
+ var body = await r.arrayBuffer();
+ body = new Uint8Array(body);
+ return new TextDecoder().decode(body);
+ }, 'foo'],
['json', async () => {
var r = new Response('{"a": {"b": 42}}');
var json = await r.json();
@@ -515,8 +534,6 @@ EOF
$t->try_run('no njs');
-plan(skip_all => 'not yet') if http_get('/engine') =~ /QuickJS$/m;
-
$t->plan(5);
###############################################################################