chromium/third_party/blink/web_tests/editing/selection/modify_move/move_left_word_visually_multi_space_17.html

<!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="rtl">|    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-0 left word');

selection_test(
  '<div contenteditable dir="rtl"> |   abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-1 left word');

selection_test(
  '<div contenteditable dir="rtl">  |  abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-2 left word');

selection_test(
  '<div contenteditable dir="rtl">   | abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-3 left word');

selection_test(
  '<div contenteditable dir="rtl">    |abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-4 left word');

selection_test(
  '<div contenteditable dir="rtl">    a|bc    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-5 left word');

selection_test(
  '<div contenteditable dir="rtl">    ab|c    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-6 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc|    def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc |   def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-7 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc |   def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def |   hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-8 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc  |  def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def |   hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-9 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc   | def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def |   hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-10 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    |def    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def |   hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-11 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    d|ef    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def |   hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-12 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    de|f    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def |   hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-13 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def|    hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def |   hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-14 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def |   hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij |   \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-15 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def  |  hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij |   \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-16 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def   | hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij |   \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-17 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    |hij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij |   \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-18 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    h|ij    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij |   \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-19 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hi|j    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij |   \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-20 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij|    אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij |   \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-21 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij |   אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ |   דעפ    היח    opq    rst    uvw    </div>',
  '17-22 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij  |  אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ |   דעפ    היח    opq    rst    uvw    </div>',
  '17-23 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij   | אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ |   דעפ    היח    opq    rst    uvw    </div>',
  '17-24 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    |אבצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ |   דעפ    היח    opq    rst    uvw    </div>',
  '17-25 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    א|בצ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ |   דעפ    היח    opq    rst    uvw    </div>',
  '17-26 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אב|צ    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ |   דעפ    היח    opq    rst    uvw    </div>',
  '17-27 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ|    דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6 |   \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-28 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ |   דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ |   היח    opq    rst    uvw    </div>',
  '17-29 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ  |  דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ |   היח    opq    rst    uvw    </div>',
  '17-30 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ   | דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ |   היח    opq    rst    uvw    </div>',
  '17-31 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    |דעפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ |   היח    opq    rst    uvw    </div>',
  '17-32 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    ד|עפ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ |   היח    opq    rst    uvw    </div>',
  '17-33 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דע|פ    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ |   היח    opq    rst    uvw    </div>',
  '17-34 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ|    היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4 |   \u05D4\u05D9\u05D7    opq    rst    uvw    </div>',
  '17-35 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ |   היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח |   opq    rst    uvw    </div>',
  '17-36 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ  |  היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח |   opq    rst    uvw    </div>',
  '17-37 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ   | היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח |   opq    rst    uvw    </div>',
  '17-38 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    |היח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח |   opq    rst    uvw    </div>',
  '17-39 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    ה|יח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח |   opq    rst    uvw    </div>',
  '17-40 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    הי|ח    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח |   opq    rst    uvw    </div>',
  '17-41 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח|    opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7 |   opq    rst    uvw    </div>',
  '17-42 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח |   opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq |   rst    uvw    </div>',
  '17-43 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח  |  opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq |   rst    uvw    </div>',
  '17-44 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח   | opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq |   rst    uvw    </div>',
  '17-45 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    |opq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq |   rst    uvw    </div>',
  '17-46 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    o|pq    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq |   rst    uvw    </div>',
  '17-47 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    op|q    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq |   rst    uvw    </div>',
  '17-48 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq|    rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq |   rst    uvw    </div>',
  '17-49 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq |   rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst |   uvw    </div>',
  '17-50 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq  |  rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst |   uvw    </div>',
  '17-51 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq   | rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst |   uvw    </div>',
  '17-52 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    |rst    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst |   uvw    </div>',
  '17-53 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    r|st    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst |   uvw    </div>',
  '17-54 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rs|t    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst |   uvw    </div>',
  '17-55 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst|    uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst |   uvw    </div>',
  '17-56 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst |   uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw|    </div>',
  '17-57 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst  |  uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw|    </div>',
  '17-58 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst   | uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw|    </div>',
  '17-59 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    |uvw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw|    </div>',
  '17-60 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    u|vw    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw|    </div>',
  '17-61 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uv|w    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    \u05D0\u05D1\u05E6    \u05D3\u05E2\u05E4    \u05D4\u05D9\u05D7    opq    rst    uvw|    </div>',
  '17-62 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw|    </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw|    </div>',
  '17-63 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw |   </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw|    </div>',
  '17-64 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw  |  </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw|    </div>',
  '17-65 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw   | </div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw|    </div>',
  '17-66 left word');

selection_test(
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw    |</div>',
  selection => selection.modify('move', 'left', 'word'),
  '<div contenteditable dir="rtl">    abc    def    hij    אבצ    דעפ    היח    opq    rst    uvw|    </div>',
  '17-67 left word');
</script>