Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /fetch/api/body/formdata.any.html - WPT Dashboard Interop Dashboard
- /fetch/api/body/formdata.any.worker.html - WPT Dashboard Interop Dashboard
promise_test(async t => {
const res = new Response(new FormData());
const fd = await res.formData();
assert_true(fd instanceof FormData);
}, 'Consume empty response.formData() as FormData');
promise_test(async t => {
const req = new Request('about:blank', {
method: 'POST',
body: new FormData()
});
const fd = await req.formData();
assert_true(fd instanceof FormData);
}, 'Consume empty request.formData() as FormData');
promise_test(async t => {
let formdata = new FormData();
formdata.append('foo', new Blob([JSON.stringify({ bar: "baz", })], { type: "application/json" }));
let blob = await new Response(formdata).blob();
let body = await blob.text();
blob = new Blob([body.toLowerCase()], { type: blob.type.toLowerCase() });
let formdataWithLowercaseBody = await new Response(blob).formData();
assert_true(formdataWithLowercaseBody.has("foo"));
assert_equals(formdataWithLowercaseBody.get("foo").type, "application/json");
}, 'Consume multipart/form-data headers case-insensitively');