blob: ee7d21a6ffb7975f2f9130d4b3a40a426c5b44ab [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: Type error.
PASS walker.currentNode.id; is 'root'
PASS walker.nextNode(); threw exception TypeError: Type error.
PASS walker.currentNode.id; is 'root'
Testing with object with non-function acceptNode property
PASS walker.firstChild(); threw exception TypeError: Type error.
PASS walker.currentNode.id; is 'root'
PASS walker.nextNode(); threw exception TypeError: Type error.
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