From 095b1dc06bf768c56604f9f0b7e731f7b394c5ad Mon Sep 17 00:00:00 2001 From: Khafra Date: Sun, 18 Dec 2022 15:42:50 -0500 Subject: [PATCH] test: add regression test for #1814 (#1815) --- test/fetch/formdata.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/test/fetch/formdata.js b/test/fetch/formdata.js index 9c4a574e420..e91893f1aa6 100644 --- a/test/fetch/formdata.js +++ b/test/fetch/formdata.js @@ -1,7 +1,7 @@ 'use strict' const { test } = require('tap') -const { FormData, File } = require('../../') +const { FormData, File, Response } = require('../../') const { Blob: ThirdPartyBlob } = require('formdata-node') const { Blob } = require('buffer') @@ -296,3 +296,22 @@ test('arguments', (t) => { t.end() }) + +// https://github.com/nodejs/undici/pull/1814 +test('FormData returned from bodyMixin.formData is not a clone', async (t) => { + const fd = new FormData() + fd.set('foo', 'bar') + + const res = new Response(fd) + fd.set('foo', 'foo') + + const fd2 = await res.formData() + + t.equal(fd2.get('foo'), 'bar') + t.equal(fd.get('foo'), 'foo') + + fd2.set('foo', 'baz') + + t.equal(fd2.get('foo'), 'baz') + t.equal(fd.get('foo'), 'foo') +})