<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">|This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">|This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-0 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">T|his is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">|This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-1 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">Th|is is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">T|his is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-2 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">Thi|s is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">Th|is is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-3 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This| is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">Thi|s is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-4 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This |is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This| is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-5 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This i|s \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This |is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-6 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is| \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This i|s \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-7 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is |\u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is| \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-8 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9|\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is |\u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-9 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5|\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9|\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-10 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA|\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5|\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-11 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8| \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA|\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-12 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 |\u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8| \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-13 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6|\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 |\u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-14 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8| \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6|\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-15 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 |\u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8| \u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-16 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE|\u05D9\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 |\u05DE\u05D9\u05EA\u05E8 the boxes.</div>',
'22-17 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9|\u05EA\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE|\u05D9\u05EA\u05E8 the boxes.</div>',
'22-18 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA|\u05E8 the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9|\u05EA\u05E8 the boxes.</div>',
'22-19 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8| the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA|\u05E8 the boxes.</div>',
'22-20 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 |the boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8| the boxes.</div>',
'22-21 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 t|he boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 |the boxes.</div>',
'22-22 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 th|e boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 t|he boxes.</div>',
'22-23 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the| boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 th|e boxes.</div>',
'22-24 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the |boxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the| boxes.</div>',
'22-25 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the b|oxes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the |boxes.</div>',
'22-26 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the bo|xes.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the b|oxes.</div>',
'22-27 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the box|es.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the bo|xes.</div>',
'22-28 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxe|s.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the box|es.</div>',
'22-29 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes|.</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxe|s.</div>',
'22-30 ltr left character');
selection_test(
'<div contenteditable dir="ltr" contenteditable style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes.|</div>',
selection => selection.modify('move', 'left', 'character'),
'<div contenteditable dir="ltr" style="width: 100px;">This is \u05D9\u05D5\u05EA\u05E8 \u05E6\u05E8 \u05DE\u05D9\u05EA\u05E8 the boxes|.</div>',
'22-31 ltr left character');
</script>