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");