blob: f7c74e7047834cd6a16b57035b3ed402a4182ab1 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="UndoTests.js"></script>
<script>
function insertHeading(numbered,title)
{
UndoManager_newGroup("Insert heading");
var h1 = DOM_createElement(document,"H1");
DOM_appendChild(h1,DOM_createTextNode(document,title));
Clipboard_pasteNodes([h1]);
Outline_setNumbered(h1.getAttribute("id"),numbered);
// Place the cursor directly after the heading
var offset = DOM_nodeOffset(h1);
var pos = new Position(h1.parentNode,offset);
pos = Position_closestMatchForwards(pos,Position_okForMovement);
Selection_set(pos.node,pos.offset,pos.node,pos.offset);
PostponedActions_add(UndoManager_newGroup);
}
function performTest()
{
Outline_init();
PostponedActions_perform();
UndoManager_clear();
var versions = new Array();
var body = document.body;
versions.push(DOM_cloneNode(body,true));
insertHeading(false,"First heading");
PostponedActions_perform();
versions.push(DOM_cloneNode(body,true));
placeCursorAfterElement("item1");
insertHeading(false,"Second heading");
PostponedActions_perform();
versions.push(DOM_cloneNode(body,true));
placeCursorAfterElement("item1");
insertHeading(false,"Third heading");
PostponedActions_perform();
versions.push(DOM_cloneNode(body,true));
placeCursorAfterElement("item2");
insertHeading(false,"Fourth heading");
PostponedActions_perform();
versions.push(DOM_cloneNode(body,true));
testUndo(versions,body);
}
</script>
</head>
<body>
[]
</body>
</html>