summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch/api/body/formdata.any.js
blob: 6733fa0ed70afe5b20935c6b5cd3050ca28787b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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');