chromium/third_party/blink/web_tests/external/wpt/fetch/content-length/api-and-duplicate-headers.any.js

promise_test(async t => {
  const response = await fetch("resources/identical-duplicates.asis");
  assert_equals(response.statusText, "BLAH");
  assert_equals(response.headers.get("test"), "x, x");
  assert_equals(response.headers.get("content-type"), "text/plain, text/plain");
  assert_equals(response.headers.get("content-length"), "6, 6");
  const text = await response.text();
  assert_equals(text, "Test.\n");
}, "fetch() and duplicate Content-Length/Content-Type headers");

async_test(t => {
  const xhr = new XMLHttpRequest();
  xhr.open("GET", "resources/identical-duplicates.asis");
  xhr.send();
  xhr.onload = t.step_func_done(() => {
    assert_equals(xhr.statusText, "BLAH");
    assert_equals(xhr.getResponseHeader("test"), "x, x");
    assert_equals(xhr.getResponseHeader("content-type"), "text/plain, text/plain");
    assert_equals(xhr.getResponseHeader("content-length"), "6, 6");
    assert_equals(xhr.getAllResponseHeaders(), "content-length: 6, 6\r\ncontent-type: text/plain, text/plain\r\ntest: x, x\r\n");
    assert_equals(xhr.responseText, "Test.\n");
  });
}, "XMLHttpRequest and duplicate Content-Length/Content-Type headers");