Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
            
- /xhr/setrequestheader-case-insensitive.htm - WPT Dashboard Interop Dashboard
 
 
<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: setRequestHeader() - headers that differ in case</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>
    <script>
      test(() => {
        const client = new XMLHttpRequest();
        client.open("POST", "resources/inspect-headers.py?filter_value=t1, t2, t3", false);
        client.setRequestHeader("x-test", "t1");
        client.setRequestHeader("X-TEST", "t2");
        client.setRequestHeader("X-teST", "t3");
        client.send(null);
        assert_equals(client.responseText, "x-test,");
      });
      test(() => {
        const client = new XMLHttpRequest();
        client.open("GET", "resources/echo-headers.py", false);
        client.setRequestHeader("THIS-IS-A-TEST", "1");
        client.setRequestHeader("THIS-is-A-test", "2");
        client.setRequestHeader("content-TYPE", "x/x");
        client.send();
        const contentTypeHeader = client.responseText.match(/content-TYPE/gi);
        const thisIsATestHeader = client.responseText.match(/THIS-IS-A-TEST: 1, 2/gi);
        assert_array_equals(contentTypeHeader, ["content-TYPE"]);
        assert_array_equals(thisIsATestHeader, ["THIS-IS-A-TEST: 1, 2"]);
      });
    </script>
  </body>
</html>