text: promise_test(() => fetch("../cors/resources/not-cors-safelisted.json").then(res => res.json().then(runTests)), "Loading data…");
  
  const longValue = "s".repeat(127);
  
  [
    {
      "headers": ["accept", "accept-language", "content-language"],
      "values": [longValue, "", longValue]
    },
    {
      "headers": ["accept", "accept-language", "content-language"],
      "values": ["", longValue]
    },
    {
      "headers": ["content-type"],
      "values": ["text/plain;" + "s".repeat(116), "text/plain"]
    }
  ].forEach(testItem => {
    testItem.headers.forEach(header => {
      test(() => {
        const noCorsHeaders = new Request("about:blank", { mode: "no-cors" }).headers;
        testItem.values.forEach((value) => {
          noCorsHeaders.append(header, value);
          assert_equals(noCorsHeaders.get(header), testItem.values[0], '1');
        });
        noCorsHeaders.set(header, testItem.values.join(", "));
        assert_equals(noCorsHeaders.get(header), testItem.values[0], '2');
        noCorsHeaders.delete(header);
        assert_false(noCorsHeaders.has(header));
      }, "\"no-cors\" Headers object cannot have " + header + " set to " + testItem.values.join(", "));
    });
  });
  
  function runTests(testArray) {
    testArray = testArray.concat([
      ["dpr", "2"],
      ["downlink", "1"],
      ["save-data", "on"],
      ["viewport-width", "100"],
      ["width", "100"],
      ["unknown", "doesitmatter"]
    ]);
    testArray.forEach(testItem => {
      const [headerName, headerValue] = testItem;
      test(() => {
        const noCorsHeaders = new Request("about:blank", { mode: "no-cors" }).headers;
        noCorsHeaders.append(headerName, headerValue);
        assert_false(noCorsHeaders.has(headerName));
        noCorsHeaders.set(headerName, headerValue);
        assert_false(noCorsHeaders.has(headerName));
      }, "\"no-cors\" Headers object cannot have " + headerName + "/" + headerValue + " as header");
    });
  }
  