summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast/xpath/4XPath/Core/test_node_test.html
blob: b20eb95844b0baf82fc984ae24994a1a6c563a8f (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<link rel="stylesheet" href="../../../js/resources/js-test-style.css">
<script src="../../../js/resources/js-test-pre.js"></script>
<script src="test.js"></script>
</head>
<body>
<div id="console"></div>

<script>
    function nsResolver(prefix) {
        if (prefix == 'bar')
            return 'http://foo.com';
        return null;
    }

    function nodeInResult(node, result) {
        for (i=0; i < result.snapshotLength; ++i)
            if (result.snapshotItem(i) == node)
                return true;
        return false;
    }

    result = DOM.evaluate("//*", ROOT, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(ROOT, result)", "true");

    result = DOM.evaluate("//bar:CHILD3", ROOT, nsResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(ROOT, result)", "false");
    shouldBe("nodeInResult(CHILD1, result)", "false");
    shouldBe("nodeInResult(CHILD3, result)", "true");

    result = DOM.evaluate("//bar:*", ROOT, nsResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(ROOT, result)", "false");
    shouldBe("nodeInResult(CHILD1, result)", "false");
    shouldBe("nodeInResult(CHILD3, result)", "true");

    result = DOM.evaluate("//node()", ROOT, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(ROOT, result)", "true");
    shouldBe("nodeInResult(TEXT1, result)", "true");

    result = DOM.evaluate("//text()", ROOT, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(ROOT, result)", "false");
    shouldBe("nodeInResult(TEXT1, result)", "true");

    result = DOM.evaluate("//comment()", ROOT, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(ROOT, result)", "false");
    shouldBe("nodeInResult(COMMENT, result)", "true");

    result = DOM.evaluate("//processing-instruction()", ROOT, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(ROOT, result)", "false");
    shouldBe("nodeInResult(PI, result)", "true");

    result = DOM.evaluate("//processing-instruction('xml-stylesheet')", ROOT, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    shouldBe("nodeInResult(PI, result)", "true");
    shouldBe("nodeInResult(PI2, result)", "false");

    var successfullyParsed = true;

</script>
<script src="../../../js/resources/js-test-post.js"></script>
</body>
</html>