blob: b250e7cc834f266733848092ef4ecc632d7dc0fb [file] [log] [blame]
<!DOCTYPE html> <!-- webkit-test-runner [ internal:UndoManagerAPIEnabled=true ] -->
<html>
<meta charset="utf8">
<head>
<script src="../../resources/js-test.js"></script>
<script src="../editing.js"></script>
<script>
function runTest() {
description("Verifies that undo and redo callback handlers survive garbage collection. This test requires WebKitTestRunner.");
text = document.getElementById("text");
document.undoManager.addItem(new UndoItem({
label: "Test action",
undo: () => text.textContent = "After undo",
redo: () => text.textContent = "After redo"
}));
if (window.GCController)
GCController.collect();
document.execCommand("Undo");
shouldBeEqualToString("text.textContent", "After undo");
document.execCommand("Redo");
shouldBeEqualToString("text.textContent", "After redo");
}
</script>
</head>
<body onload="runTest()">
<div id="text">Initial state</div>
<pre id="description"></pre>
<pre id="console"></pre>
</body>
</html>