<!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.testRunner)
        testRunner.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>
