<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <body>
    <p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=12359">bug 12359</a>:
    XPathEvaluator may return some nodes more than once in a result set.</p>

    <div>
      <div>
        <div></div>
      </div>
    </div>

    <script type="text/javascript">
      if (window.layoutTestController)
        layoutTestController.dumpAsText();

      try {
        var result = document.evaluate("//div//div | //div/div", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

        if (result.snapshotLength == 2)
          document.write("SUCCESS");
        else
          document.write(result.snapshotLength + " matches (should be 2)");

      } catch (ex) {
        document.write("Exception: " + ex);
      }
    </script>
  </body>
</html>
