<!DOCTYPE html> <html> <head>
<script src="jquery-1.6.min.js"></script> <link rel="stylesheet" href="http://code.jquery.com/qunit/git/qunit.css" type="text/css" media="screen" /> <script type="text/javascript" src="http://code.jquery.com/qunit/git/qunit.js"></script> <script src="../dist/jquery.syntax.js" type="text/javascript"></script> <script src="../dist/jquery.syntax.core.js" type="text/javascript"></script> <script src="../dist/jquery.syntax.cache.js" type="text/javascript"></script> <script> $(document).ready(function(){ module("Algorithms") test("Basic Tree Construction", function() { var top = new Syntax.Match(0, 20, {}, "--------------------"); top.insert(new Syntax.Match(0, 5, {}, "|-1-|")); top.insert(new Syntax.Match(5, 5, {}, "|-2-|")); top.insert(new Syntax.Match(15, 5, {}, "|-3-|")); top.insert(new Syntax.Match(0, 10, {}, "|========|")); equals(top.children.length, 3, "Children inserted correctly"); equals(top.children[0].children.length, 1, "Child split correctly"); equals(top.children[1].children.length, 1, "Child split correctly"); var parts = top.bisectAtOffsets([5, 8, 18]); equals(parts.length, 4, "Children split correctly"); equals(parts[0].offset, 0, "Offset matched split point"); equals(parts[0].endOffset, 5, "Offset matched split point"); equals(parts[1].offset, 5, "Offset matched split point"); equals(parts[1].endOffset, 8, "Offset matched split point"); equals(parts[2].offset, 8, "Offset matched split point"); equals(parts[2].endOffset, 18, "Offset matched split point"); equals(parts[3].offset, 18, "Offset matched split point"); equals(parts[3].endOffset, 20, "Offset matched split point"); equals(parts[0].children.length, 1, "Correct number of children"); equals(parts[1].children.length, 1, "Correct number of children"); equals(parts[2].children.length, 2, "Children split correctly"); equals(parts[3].children.length, 1, "Correct number of children"); equals(parts[1].children[0].next, parts[2].children[0], "Child split correctly between parents"); top.children = parts; top.insert(new Syntax.Match(0, 20, {}, "~~~~~~~~~~~~~~~~~~~~")); equals(top.children[0].children[0].children[0].children[0].value, "~~~~~", "Child split correctly across top"); equals(top.children[1].children[0].children[0].children[0].value, "~~~", "Child split correctly across top"); equals(top.children[2].children[0].children[0].children[0].value, "~~", "Child split correctly across top"); equals(top.children[2].children[1].value, "~~~~~", "Child split correctly across top"); equals(top.children[2].children[2].children[0].value, "~~~", "Child split correctly across top"); equals(top.children[3].children[0].children[0].value, "~~", "Child split correctly across top"); }); test("Tree Bisection", function() { }); }); </script>
</head> <body>
<h1 id="qunit-header">jQuery.Syntax Unit Tests</h1> <h2 id="qunit-banner"></h2> <div id="qunit-testrunner-toolbar"></div> <h2 id="qunit-userAgent"></h2> <ol id="qunit-tests"></ol> <div id="qunit-fixture">test markup, will be hidden</div>
</body> </html>