<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>href click</title>
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#attributes-common-to-html-and-mathml-elements">
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#dom-and-javascript">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
</head>
<body>
  <p>To test manually, click the blue rectangle.</p>
  <p>
    <math>
      <mspace width="50px" height="10px" style="background: gray"></mspace>
      <mspace id="target" href="javascript:handler()" width="50px" height="10px" style="background: blue"></mspace>
      <mspace width="50px" height="10px" style="background: gray"></mspace>
    </math>
  </p>
  <a id="badTarget" href="javascript:badHandler()">DON'T CLICK ME</a>
  <script>
    var t = async_test("Click element with href");
    function handler() { t.done(); }
    function badHandler() {
      t.step(() => { assert_unreached("Bad handler executed"); });
      t.done();
    }
    test_driver.click(document.getElementById("target")).then(() => {
      return test_driver.click(document.getElementById("badTarget"));
    }).catch(() => {
      t.step(() => { assert_unreached("Click failed"); });
      t.done();
    });
  </script>
</body>
</html>
