| <!DOCTYPE html> |
| <html> |
| <head> |
| <script type="text/javascript" src="RangeTest.js"></script> |
| <script> |
| |
| function arraysEqual(a,b) |
| { |
| if (a.length != b.length) |
| return false; |
| |
| for (var i = 0; i < a.length; i++) { |
| if (a[i] != b[i]) |
| return false; |
| } |
| |
| return true; |
| } |
| |
| function performTest() |
| { |
| var root = document.body; |
| removeWhitespaceTextNodes(root); |
| setup(root); |
| |
| var total = 0; |
| var pass = 0; |
| var fail = 0; |
| for (var index = 0; index < allPositions.length; index++) { |
| var pos = allPositions[index]; |
| |
| total++; |
| |
| var actual = Position_next(pos); |
| var expected = allPositions[index+1]; |
| |
| if (comparePositions(actual,expected)) |
| pass++; |
| else { |
| debug("fail: "+actual+" and "+expected+" (index "+index+")"); |
| fail++; |
| } |
| } |
| |
| var message1 = "allPositions.length = "+allPositions.length; |
| var message2 = "Test results: total "+total+", pass "+pass+", fail "+fail; |
| DOM_deleteAllChildren(document.body); |
| DOM_appendChild(document.body,DOM_createTextNode(document,message1)); |
| DOM_appendChild(document.body,DOM_createElement(document,"BR")); |
| DOM_appendChild(document.body,DOM_createTextNode(document,message2)); |
| |
| function comparePositions(a,b) |
| { |
| if ((a == null) && (b == null)) |
| return true; |
| if ((a != null) && (b != null) && |
| (a.node == b.node) && (a.offset == b.offset)) |
| return true; |
| return false; |
| } |
| } |
| </script> |
| </head> |
| <body> |
| |
| <div style="display: none"> |
| <div> |
| <div> |
| <div></div> |
| <div></div> |
| <div></div> |
| </div> |
| <div> |
| <div></div> |
| <div></div> |
| <div></div> |
| </div> |
| <div> |
| <div>One</div> |
| <div>Two</div> |
| <div></div> |
| </div> |
| </div> |
| <div> |
| <div>ONE</div> |
| <div>TWO</div> |
| <div>THREE</div> |
| </div> |
| <div> |
| <div> |
| <div></div> |
| <div></div> |
| <div></div> |
| </div> |
| <div> |
| <div></div> |
| <div></div> |
| </div> |
| <div> |
| <div></div> |
| </div> |
| </div> |
| </div> |
| |
| </body> |
| </html> |