blob: b2095d330b9a2c4f154d68334cc497e030f775cf [file] [log] [blame]
<html>
<body>
This tests applying a background color at the beginning, the middle and the end of one sentence, then undo and redo.
<p>
<a href="https://bugs.webkit.org/show_bug.cgi?id=30892">Bug 30892</a>
</p>
<div contenteditable="true">
<div id="test1">Hello!</div>
<div id="test2">Hello!</div>
<div id="test3">Hello!</div>
</div>
<br>
<ul>
<li>Test 1: <span id="c1"></span></li>
<li>Test 2: <span id="c2"></span></li>
<li>Test 3: <span id="c3"></span></li>
</ul>
<script type="text/javascript">
function runTest(elem, node)
{
var e = document.getElementById(node);
var before = e.innerHTML;
document.execCommand("hilitecolor", false, "#FF0000");
var after = e.innerHTML;
document.execCommand("undo");
var afterundo = e.innerHTML;
document.execCommand("redo");
document.getElementById(elem).appendChild(document.createTextNode(((before == afterundo) && (after == e.innerHTML))? "PASSED": "FAILED"));
}
if (window.layoutTestController) {
layoutTestController.dumpEditingCallbacks();
layoutTestController.dumpAsText();
}
var s = window.getSelection();
s.setBaseAndExtent(document.getElementById('test1').firstChild, 0, document.getElementById('test1').firstChild, 2);
runTest('c1', 'test1');
s.setBaseAndExtent(document.getElementById('test2').firstChild, 2, document.getElementById('test2').firstChild, 4);
runTest('c2', 'test2');
s.setBaseAndExtent(document.getElementById('test3').firstChild, 4, document.getElementById('test3').firstChild, 6);
runTest('c3', 'test3');
</script>