1description('Test JS objects as NodeFilters.');
2
3var walker;
4var testElement = document.createElement("div");
5testElement.id = 'root';
6testElement.innerHTML='<div id="A1"><div id="B1"></div><div id="B2"></div></div>';
7debug("Testing with object filter");
8walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, function(node) {
9  throw('filter exception');
10  return NodeFilter.FILTER_ACCEPT;
11}, false);
12
13debug("Test with filter function");
14shouldThrow("walker.firstChild();");
15shouldBe("walker.currentNode.id", "'root'")
16shouldThrow("walker.nextNode();walker.currentNode.id");
17shouldBe("walker.currentNode.id", "'root'")
18
19walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, {
20    acceptNode : function(node) {
21      throw('filter exception');
22      return NodeFilter.FILTER_ACCEPT;
23    }
24  }, false);
25
26debug("<br>Test with filter object");
27shouldThrow("walker.firstChild();");
28shouldBe("walker.currentNode.id", "'root'")
29shouldThrow("walker.nextNode();walker.currentNode.id");
30shouldBe("walker.currentNode.id", "'root'")
31
32var successfullyParsed = true;
33