blob: 6aceb2b4d60025fa7ca770ed48be75fb4e24454d [file] [log] [blame]
Test JS objects as NodeFilters.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Testing with raw function filter
filtering node A1
PASS walker.firstChild(); walker.currentNode.id is 'A1'
filtering node B1
filtering node B2
PASS walker.nextNode(); walker.currentNode.id is 'B2'
Testing with object filter
filtering node A1
PASS walker.firstChild(); walker.currentNode.id is 'A1'
filtering node B1
filtering node B2
PASS walker.nextNode(); walker.currentNode.id is 'B2'
Testing with null filter
PASS walker.firstChild(); walker.currentNode.id is 'A1'
PASS walker.nextNode(); walker.currentNode.id is 'B1'
Testing with undefined filter
PASS walker.firstChild(); walker.currentNode.id is 'A1'
PASS walker.nextNode(); walker.currentNode.id is 'B1'
Testing with object lacking acceptNode property
PASS walker.firstChild(); threw exception TypeError: 'acceptNode' property of callback interface should be callable.
PASS walker.currentNode.id; is 'root'
PASS walker.nextNode(); threw exception TypeError: 'acceptNode' property of callback interface should be callable.
PASS walker.currentNode.id; is 'root'
Testing with object with non-function acceptNode property
PASS walker.firstChild(); threw exception TypeError: 'acceptNode' property of callback interface should be callable.
PASS walker.currentNode.id; is 'root'
PASS walker.nextNode(); threw exception TypeError: 'acceptNode' property of callback interface should be callable.
PASS walker.currentNode.id; is 'root'
Testing with function having acceptNode function
PASS walker.firstChild(); walker.currentNode.id is 'A1'
PASS walker.nextNode(); walker.currentNode.id is 'B1'
Testing acceptNode callee
Callee: function (node) {
debug('Callee: ' + arguments.callee);
return NodeFilter.FILTER_ACCEPT;
}
PASS walker.firstChild(); walker.currentNode.id is 'A1'
PASS successfullyParsed is true
TEST COMPLETE