<!DOCTYPE html>
<html>
  <head>
    <title>Sync PUT request denied at preflight</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
    <script src="/common/utils.js"></script>
  </head>
  <body>
    <script type="text/javascript">
const uuid = token();
const url = get_host_info().HTTP_REMOTE_ORIGIN +
      "/xhr/resources/access-control-preflight-denied.py?token=" + uuid;

test(() => {
  let xhr = new XMLHttpRequest;
  xhr.open("GET", url + "&command=reset", false);
  xhr.send();

  xhr = new XMLHttpRequest;
  xhr.open("PUT", url, false);

  assert_throws_dom("NetworkError", () => xhr.send(""));

  xhr = new XMLHttpRequest;
  xhr.open("GET", url + "&command=complete", false);
  xhr.send();
  assert_equals(xhr.responseText, "Request successfully blocked.");
});
    </script>
  </body>
</html>
