blob: ae04cc0ffc1dcad94c962171433e6b0ce9329854 [file] [log] [blame]
rniwa@webkit.org3ce20552010-10-09 19:49:48 +00001<!DOCTYPE html>
2<html>
3<body>
commit-queue@webkit.org1ac47ab2012-08-24 23:58:43 +00004<div id="test" contenteditable><b style="font-style: italic;">world</b></div>
rniwa@webkit.org3ce20552010-10-09 19:49:48 +00005<pre id="console">
6</pre>
7<script>
8
rniwa@webkit.org14f6b5b2012-06-13 08:51:53 +00009if (window.testRunner)
10 testRunner.dumpAsText();
rniwa@webkit.org3ce20552010-10-09 19:49:48 +000011
12var test = document.getElementById('test');
13window.getSelection().selectAllChildren(test);
14
15var console = document.getElementById('console');
16var initialValue = test.innerHTML;
17var failed = false;
18console.appendChild(document.createTextNode('initial:' + test.innerHTML + '\n'));
19document.execCommand('bold', false, null);
20console.appendChild(document.createTextNode('after removing bold:' + test.innerHTML + '\n'));
21document.execCommand('italic', false, null);
22console.appendChild(document.createTextNode('after removing italic:' + test.innerHTML + '\n'));
23var finalValue = test.innerHTML;
24
25document.execCommand('undo', false, null);
26document.execCommand('undo', false, null);
27console.appendChild(document.createTextNode('after undo:' + test.innerHTML + '\n'));
28if (test.innerHTML != initialValue) {
29 console.appendChild(document.createTextNode('but expected ' + initialValue + '\n'));
30 failed = true;
31}
32document.execCommand('redo', false, null);
33document.execCommand('redo', false, null);
34console.appendChild(document.createTextNode('after redo:' + test.innerHTML + '\n'));
35if (test.innerHTML != finalValue) {
36 console.appendChild(document.createTextNode('but expected ' + finalValue + '\n'));
37 failed = true;
38}
39
40test.innerHTML = '';
41
42console.appendChild(document.createTextNode(failed ? 'FAIL\n' : 'PASS\n'));
43
44</script>
45</body>
46</html>