blob: ae04cc0ffc1dcad94c962171433e6b0ce9329854 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<div id="test" contenteditable><b style="font-style: italic;">world</b></div>
<pre id="console">
</pre>
<script>
if (window.testRunner)
testRunner.dumpAsText();
var test = document.getElementById('test');
window.getSelection().selectAllChildren(test);
var console = document.getElementById('console');
var initialValue = test.innerHTML;
var failed = false;
console.appendChild(document.createTextNode('initial:' + test.innerHTML + '\n'));
document.execCommand('bold', false, null);
console.appendChild(document.createTextNode('after removing bold:' + test.innerHTML + '\n'));
document.execCommand('italic', false, null);
console.appendChild(document.createTextNode('after removing italic:' + test.innerHTML + '\n'));
var finalValue = test.innerHTML;
document.execCommand('undo', false, null);
document.execCommand('undo', false, null);
console.appendChild(document.createTextNode('after undo:' + test.innerHTML + '\n'));
if (test.innerHTML != initialValue) {
console.appendChild(document.createTextNode('but expected ' + initialValue + '\n'));
failed = true;
}
document.execCommand('redo', false, null);
document.execCommand('redo', false, null);
console.appendChild(document.createTextNode('after redo:' + test.innerHTML + '\n'));
if (test.innerHTML != finalValue) {
console.appendChild(document.createTextNode('but expected ' + finalValue + '\n'));
failed = true;
}
test.innerHTML = '';
console.appendChild(document.createTextNode(failed ? 'FAIL\n' : 'PASS\n'));
</script>
</body>
</html>