| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script> |
| description("Test of exception forwarding for NodeIterator and TreeWalker, derived from an early version of Acid3"); |
| |
| var iteration = 0; |
| function test(node) |
| { |
| iteration += 1; |
| switch (iteration) { |
| case 1: case 3: case 4: case 6: case 7: case 8: case 9: case 12: throw "Roses"; |
| case 2: case 5: case 10: case 11: return true; |
| default: throw 0; |
| } |
| } |
| |
| var i = document.createNodeIterator(document.documentElement, 0xFFFFFFFF, test, true); |
| shouldThrow("i.nextNode()"); // 1 |
| shouldBe("i.nextNode()", "document.documentElement"); // 2 |
| shouldThrow("i.previousNode()"); // 3 |
| var w = document.createTreeWalker(document.documentElement, 0xFFFFFFFF, test, true); |
| shouldThrow("w.nextNode()"); // 4 |
| shouldBe("w.nextNode()", "document.documentElement.firstChild"); // 5 |
| shouldThrow("w.previousNode()"); // 6 |
| shouldThrow("w.firstChild()"); // 7 |
| shouldThrow("w.lastChild()"); // 8 |
| shouldThrow("w.nextSibling()"); // 9 |
| shouldBe("w.previousSibling()", "null"); |
| shouldBe("w.nextSibling()", "document.body.previousSibling"); // 10 |
| shouldBe("w.previousSibling()", "document.head"); // 11 |
| shouldBe("iteration", "11"); |
| |
| var successfullyParsed = true; |
| </script> |
| <script src="../resources/js-test-post.js"></script> |
| </body> |
| </html> |