blob: 253036269f53808a2686842cab5717a24aaea929 [file] [log] [blame]
<!doctype html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../assert_selection.js"></script>
<script>
test(() => assert_selection(
'<div contenteditable><span>|XXXX</span></div>',
selection => {
for (var i = 0; i < 3; ++i)
selection.document.execCommand('insertText', false, 'a');
for (var i = 0; i < 2; ++i)
selection.modify('move', 'forward', 'character');
for (var i = 0; i < 3; ++i)
selection.document.execCommand('insertText', false, 'b');
for (var i = 0; i < 2; ++i)
selection.modify('move', 'forward', 'character');
for (var i = 0; i < 3; ++i)
selection.document.execCommand('insertText', false, 'c');
},
'<div contenteditable><span>aaaXXbbbXXccc|</span></div>'),
'Typing simulation 1');
test(() => assert_selection(
'<div contenteditable>|Foo <i> bar</i></div>',
selection => {
for (var i = 0; i < 4; ++i)
selection.modify('move', 'forward', 'character');
for (var i = 0; i < 3; ++i)
selection.document.execCommand('insertText', false, 'x');
},
'<div contenteditable>Foo xxx|<i>bar</i></div>'),
'Typing simulation 2');
test(() => assert_selection(
'<div contenteditable><span>|</span></div>',
selection => {
function typeWord(n) {
for (var i = 0; i < n; ++i)
selection.document.execCommand('insertText', false, 'x');
selection.document.execCommand('insertText', false, ' ');
}
typeWord(4);
typeWord(1);
typeWord(2);
},
'<div contenteditable>xxxx x xx\u{00A0}|<span></span></div>'),
'Typing simulation 3');
</script>