From c4166f882680be53a1b251486b044b7491f947a9 Mon Sep 17 00:00:00 2001 From: Khafra <42794878+KhafraDev@users.noreply.github.com> Date: Wed, 5 Oct 2022 07:26:14 -0400 Subject: [PATCH] fix(wpt): broken test (#1683) * fix(wpt): broken test * fix: failing node-fetch tests * fix: more failing tests --- lib/fetch/request.js | 6 +----- test/fetch/client-fetch.js | 6 ++++-- test/node-fetch/main.js | 3 ++- test/node-fetch/request.js | 3 ++- test/wpt/status/fetch.status.json | 5 ----- test/wpt/tests/fetch/api/abort/general.any.js | 1 + 6 files changed, 10 insertions(+), 14 deletions(-) diff --git a/lib/fetch/request.js b/lib/fetch/request.js index 07372d7c463..c25062a41cb 100644 --- a/lib/fetch/request.js +++ b/lib/fetch/request.js @@ -949,11 +949,7 @@ webidl.converters.RequestInit = webidl.dictionaryConverter([ { key: 'duplex', converter: webidl.converters.DOMString, - allowedValues: ['half'], - // TODO(@KhafraDev): this behavior is incorrect, but - // without it, a WPT throws with an uncaught exception, - // causing the entire WPT runner to crash. - defaultValue: 'half' + allowedValues: ['half'] } ]) diff --git a/test/fetch/client-fetch.js b/test/fetch/client-fetch.js index 685e196276a..58151f7c66e 100644 --- a/test/fetch/client-fetch.js +++ b/test/fetch/client-fetch.js @@ -111,7 +111,8 @@ test('pre aborted with readable request body', (t) => { async cancel (reason) { t.equal(reason.name, 'AbortError') } - }) + }), + duplex: 'half' }).catch(err => { t.equal(err.name, 'AbortError') }) @@ -141,7 +142,8 @@ test('pre aborted with closed readable request body', (t) => { fetch(`http://localhost:${server.address().port}`, { signal: ac.signal, method: 'POST', - body + body, + duplex: 'half' }).catch(err => { t.equal(err.name, 'AbortError') }) diff --git a/test/node-fetch/main.js b/test/node-fetch/main.js index fb64f08efed..04f74db9727 100644 --- a/test/node-fetch/main.js +++ b/test/node-fetch/main.js @@ -1135,7 +1135,8 @@ describe('node-fetch', () => { const url = `${base}inspect` const options = { method: 'POST', - body: stream.Readable.from('a=1') + body: stream.Readable.from('a=1'), + duplex: 'half' } return fetch(url, options).then(res => { return res.json() diff --git a/test/node-fetch/request.js b/test/node-fetch/request.js index 86196946b47..2d29d517f72 100644 --- a/test/node-fetch/request.js +++ b/test/node-fetch/request.js @@ -207,7 +207,8 @@ describe('Request', () => { follow: 3, compress: false, agent, - signal + signal, + duplex: 'half' }) const cl = request.clone() expect(cl.url).to.equal(url) diff --git a/test/wpt/status/fetch.status.json b/test/wpt/status/fetch.status.json index 443140e2ef0..b3ba1325ab8 100644 --- a/test/wpt/status/fetch.status.json +++ b/test/wpt/status/fetch.status.json @@ -1,9 +1,4 @@ { - "request-init-stream.any.js": { - "fail": [ - "It is error to omit .duplex when the body is a ReadableStream." - ] - }, "general.any.js": { "fail": [ "Stream errors once aborted. Underlying connection closed.", diff --git a/test/wpt/tests/fetch/api/abort/general.any.js b/test/wpt/tests/fetch/api/abort/general.any.js index 472d50507f6..600d6fc1639 100644 --- a/test/wpt/tests/fetch/api/abort/general.any.js +++ b/test/wpt/tests/fetch/api/abort/general.any.js @@ -490,6 +490,7 @@ promise_test(async t => { const fetchPromise = fetch('../resources/empty.txt', { body, signal, method: 'POST', + duplex: 'half', headers: { 'Content-Type': 'text/plain' }