<!DOCTYPE html>
<html>
  <head>
    <title>Test CORS response with 'Access-Control-Expose-Headers' header</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((test) => {
  const xhr = new XMLHttpRequest;

  xhr.open("GET", get_host_info().HTTP_REMOTE_ORIGIN +
      "/XMLHttpRequest/resources/pass.txt?pipe=" +
      "header(Cache-Control,no-cache)|" +
      "header(Access-Control-Max-Age,0)|" +
      "header(Access-Control-Allow-Origin,*)|" +
      "header(X-foo,BAR)|" +
      "header(x-test,TEST)|" +
      "header(Access-Control-Expose-Headers,x-Foo)|",
      "header(Content-Type,text/html)");

  xhr.onerror = test.unreached_func("Unexpected error");

  xhr.onload = test.step_func_done(() => {
    assert_equals(xhr.status, 200);
    assert_equals(xhr.getResponseHeader("X-FOO"), "BAR");
    assert_equals(xhr.getResponseHeader("x-foo"), "BAR");
    assert_equals(xhr.getResponseHeader("x-test"), null);
    assert_equals(xhr.responseText, "PASS\n");
  });

  xhr.send();
});
    </script>
  </body>
</html>
