summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast/xpath/nsresolver-exception.xhtml
blob: d918e1e2a059fdb4f74763b3477340ca6c3f9d46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Namespace Resolver Test Case</title>
</head>
<body>
    <div id="result">FAILURE</div>
    <script type="text/javascript"><![CDATA[
    if (window.layoutTestController)
        layoutTestController.dumpAsText();

    function MyNSResolver() {}
    MyNSResolver.prototype.lookupNamespaceURI = function(prefix) {
        throw new Error("this is an exception");
    }

    var sXml = "<root xmlns='http://www.example.com'><child>SUCCESS</child></root>";
    var oXmlDom = (new DOMParser()).parseFromString(sXml, "text/xml");

    try {

        var oResult = oXmlDom.evaluate("foo:child/text()", oXmlDom.documentElement, new MyNSResolver, 
            XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);

    } catch (ex) {
        document.getElementById("result").textContent = "SUCCESS";
    }
    ]]></script>

</body>
</html>