<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <body> <p>Tests that accessing XPath namespace axis doesn't cause a crash, see <a href="bug http://bugs.webkit.org/show_bug.cgi?id=12724">bug 12724</a>.</p> <p>The actual results are incorrect, because XPath namespace nodes are not implemented yet.</p> <div id="console"></div> <script> SRC_1 = '<?xml version="1.0" encoding="utf-8"?>\ <docu>\ <elem xmlns:unused="urn:uuu000"/>\ <elem xmlns="urn:sss111"/>\ <y:elem xmlns:y="urn:yyyy222"/>\ </docu>' if (window.layoutTestController) layoutTestController.dumpAsText(); function shouldBe(actual, expected) { if (actual == expected) document.write("PASS: " + actual + " result nodes<br>"); else document.write("FAILURE: " + actual + " result nodes (should be " + expected + ")<br>"); } doc = (new DOMParser).parseFromString(SRC_1, "application/xml"); EXPR = '//namespace::node()' nodeset = doc.evaluate(EXPR, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); shouldBe(nodeset.snapshotLength, 7) EXPR = '//node()/namespace::node()' nodeset = doc.evaluate(EXPR, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); shouldBe(nodeset.snapshotLength, 7) EXPR = '//*/namespace::node()' nodeset = doc.evaluate(EXPR, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); shouldBe(nodeset.snapshotLength, 7) EXPR = '/*/*/namespace::node()' nodeset = doc.evaluate(EXPR, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); shouldBe(nodeset.snapshotLength, 6) EXPR = '/*/namespace::node()|/*/*/namespace::node()' nodeset = doc.evaluate(EXPR, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); shouldBe(nodeset.snapshotLength, 7) EXPR = '//*' nodeset = doc.evaluate(EXPR, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); shouldBe(nodeset.snapshotLength, 4) </script> </body> </html>