blob: c1e687b1f74535e21d6398a7a86ff47398d061b8 [file] [log] [blame]
<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
if (window.internals)
internals.settings.setEditingBehavior('win');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre">| abc def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre">| abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-0 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> | abc def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre">| abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-1 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> | abc def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre">| abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-2 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> | abc def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre">| abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-3 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre">| abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-4 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> a|bc def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-5 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> ab|c def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-6 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc| def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-7 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc | def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-8 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc | def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-9 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc | def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-10 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> |abc def hij אבצ דעפ היח opq rst uvw </div>',
'26-11 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc d|ef hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
'26-12 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc de|f hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
'26-13 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def| hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
'26-14 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def | hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
'26-15 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def | hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
'26-16 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def | hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
'26-17 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc |def hij אבצ דעפ היח opq rst uvw </div>',
'26-18 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def h|ij אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
'26-19 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hi|j אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
'26-20 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij| אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
'26-21 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij | אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
'26-22 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij | אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
'26-23 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij | אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
'26-24 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |אבצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def |hij אבצ דעפ היח opq rst uvw </div>',
'26-25 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij א|בצ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |\u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-26 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אב|צ דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |\u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-27 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ| דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |\u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-28 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ | דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |\u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-29 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ | דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |\u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-30 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ | דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |\u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-31 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ |דעפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij |\u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-32 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ ד|עפ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 |\u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-33 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דע|פ היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 |\u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-34 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ| היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 |\u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-35 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ | היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 |\u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-36 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ | היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 |\u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-37 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ | היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 |\u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-38 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ |היח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 |\u05D3\u05E2\u05E4 \u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-39 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ ה|יח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 |\u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-40 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ הי|ח opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 |\u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-41 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח| opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 |\u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-42 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח | opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 |\u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-43 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח | opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 |\u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-44 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח | opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 |\u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-45 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij \u05D0\u05D1\u05E6 \u05D3\u05E2\u05E4 |\u05D4\u05D9\u05D7 opq rst uvw </div>',
'26-46 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח o|pq rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
'26-47 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח op|q rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
'26-48 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq| rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
'26-49 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq | rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
'26-50 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq | rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
'26-51 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq | rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
'26-52 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח |opq rst uvw </div>',
'26-53 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq r|st uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
'26-54 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rs|t uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
'26-55 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst| uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
'26-56 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst | uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
'26-57 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst | uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
'26-58 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst | uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
'26-59 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq |rst uvw </div>',
'26-60 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst u|vw </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
'26-61 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst uv|w </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
'26-62 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst uvw| </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
'26-63 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst uvw | </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
'26-64 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst uvw | </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
'26-65 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst uvw | </div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
'26-66 left word');
selection_test(
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst uvw |</div>',
selection => selection.modify('move', 'left', 'word'),
'<div contenteditable dir="ltr" style="white-space:pre"> abc def hij אבצ דעפ היח opq rst |uvw </div>',
'26-67 left word');
</script>