66 lines
2.1 KiB
JavaScript
66 lines
2.1 KiB
JavaScript
//-------------------------------------------------------------------------------------------------------
|
|
// Java script library to run traversal layout tests
|
|
|
|
function dumpNodeIterator(it, expectedResult) {
|
|
var string = '<p><b>Expect ' + expectedResult + '</b>: ';
|
|
var checkIt = document.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, testNodeFiter, false);
|
|
var printedPointer = false;
|
|
while (1) {
|
|
var node = checkIt.nextNode();
|
|
if (!node)
|
|
break;
|
|
if (!printedPointer && (it.referenceNode == node || it.referenceNode == undefined)) {
|
|
printedPointer = true;
|
|
var s = it.referenceNode == undefined ? node.id + ' ' : '[' + node.id + '] ';
|
|
if (it.pointerBeforeReferenceNode)
|
|
string += "* " + s;
|
|
else
|
|
string += s + "* ";
|
|
}
|
|
else {
|
|
string += node.id + " ";
|
|
}
|
|
}
|
|
return string;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------------
|
|
|
|
function nodeDepth(node) {
|
|
var depth = 0;
|
|
while ((node = node.parentNode))
|
|
depth++;
|
|
return depth;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------------
|
|
|
|
function dumpTreeWalker(tw, root, start, backwards) {
|
|
var string = '<p><b>Tree Walker: </b><br>';
|
|
if (root == undefined)
|
|
root = tw.currentNode;
|
|
var rootDepth = nodeDepth(root);
|
|
if (start == undefined)
|
|
start = root;
|
|
tw.currentNode = start;
|
|
string += start.id + '<br>';
|
|
while (1) {
|
|
var current = tw.currentNode;
|
|
if (backwards == undefined)
|
|
tw.nextNode();
|
|
else
|
|
backwards ? tw.previousNode() : tw.nextNode();
|
|
var n = tw.currentNode;
|
|
if (current == n)
|
|
break;
|
|
var depth = nodeDepth(n) - rootDepth;
|
|
for (i = 0; i < depth; i++)
|
|
string += ' ';
|
|
string += n.id + '<br>';
|
|
}
|
|
return string;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------------------------
|
|
|