<!DOCTYPE html>
<html>
  <head>
    <title>Access-Control-Request-Headers values should be lowercase</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
  </head>
  <body>
    <script type="text/javascript">
    async_test(function(test) {
      const xhr = new XMLHttpRequest;

      xhr.open("GET", get_host_info().HTTP_REMOTE_ORIGIN + "/XMLHttpRequest/resources/access-control-preflight-request-header-lowercase.py");

      xhr.setRequestHeader("X-Test", "foobar");

      xhr.onerror = test.unreached_func("Error occurred.");

      xhr.onload = test.step_func_done(function() {
        assert_equals(xhr.status, 200);
        assert_equals(xhr.responseText, "PASS");
      });

      xhr.send();
    }, "Request with uppercase header set");
    </script>
  </body>
</html>
