summaryrefslogtreecommitdiffstats
path: root/test/fetch/407-statuscode-window-null.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/fetch/407-statuscode-window-null.js')
-rw-r--r--test/fetch/407-statuscode-window-null.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/fetch/407-statuscode-window-null.js b/test/fetch/407-statuscode-window-null.js
new file mode 100644
index 0000000..e22554f
--- /dev/null
+++ b/test/fetch/407-statuscode-window-null.js
@@ -0,0 +1,20 @@
+'use strict'
+
+const { fetch } = require('../..')
+const { createServer } = require('http')
+const { once } = require('events')
+const { test } = require('tap')
+
+test('Receiving a 407 status code w/ a window option present should reject', async (t) => {
+ const server = createServer((req, res) => {
+ res.statusCode = 407
+ res.end()
+ }).listen(0)
+
+ t.teardown(server.close.bind(server))
+ await once(server, 'listening')
+
+ // if init.window exists, the spec tells us to set request.window to 'no-window',
+ // which later causes the request to be rejected if the status code is 407
+ await t.rejects(fetch(`http://localhost:${server.address().port}`, { window: null }))
+})