47 lines
1.5 KiB
HTML
47 lines
1.5 KiB
HTML
<!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>
|