<!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="rtl">|Lorem <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  '1-0 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">L|orem <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">|L^orem <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  '1-1 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lo|rem <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">L|o^rem <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  '1-2 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lor|em <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lo|r^em <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  '1-3 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lore|m <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lor|e^m <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  '1-4 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem| <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lore|m^ <span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  '1-5 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">|ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem| ^<span style="direction: rtl">ipsum dolor sit</span> amet</div>',
  '1-6 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">i|psum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">|i^psum dolor sit</span> amet</div>',
  '1-7 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ip|sum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">i|p^sum dolor sit</span> amet</div>',
  '1-8 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ips|um dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ip|s^um dolor sit</span> amet</div>',
  '1-9 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsu|m dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ips|u^m dolor sit</span> amet</div>',
  '1-10 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum| dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsu|m^ dolor sit</span> amet</div>',
  '1-11 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum |dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum| ^dolor sit</span> amet</div>',
  '1-12 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum d|olor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum |d^olor sit</span> amet</div>',
  '1-13 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum do|lor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum d|o^lor sit</span> amet</div>',
  '1-14 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dol|or sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum do|l^or sit</span> amet</div>',
  '1-15 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolo|r sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dol|o^r sit</span> amet</div>',
  '1-16 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor| sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolo|r^ sit</span> amet</div>',
  '1-17 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor |sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor| ^sit</span> amet</div>',
  '1-18 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor s|it</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor |s^it</span> amet</div>',
  '1-19 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor si|t</span> amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor s|i^t</span> amet</div>',
  '1-20 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span>| amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor si|t^</span> amet</div>',
  '1-21 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> |amet</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span>| ^amet</div>',
  '1-22 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> a|met</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> |a^met</div>',
  '1-23 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> am|et</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> a|m^et</div>',
  '1-24 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> ame|t</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> am|e^t</div>',
  '1-25 rtl right character');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> amet|</div>',
  selection => selection.modify('extend', 'right', 'character'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: rtl">ipsum dolor sit</span> ame|t^</div>',
  '1-26 rtl right character');
</script>
