<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
const isMac = navigator.platform.indexOf('Mac') === 0;
const kBehaviors = window.internals ? ['mac', 'win'] : isMac ? ['mac'] : ['win'];
for (const behavior of kBehaviors) {
  if (window.internals) {
    internals.settings.setEditingBehavior(behavior);
    internals.settings.setSelectTrailingWhitespaceEnabled(behavior !== 'mac');
  }

selection_test(
  '<div contenteditable dir="rtl">|Lorem <span dir="ltr">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">|Lorem <span dir="ltr">ipsum dolor sit</span> amet</div>',
  `${behavior} 4-0 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">L|orem <span dir="ltr">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">|L^orem <span dir="ltr">ipsum dolor sit</span> amet</div>',
  `${behavior} 4-1 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lo|rem <span dir="ltr">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">|Lo^rem <span dir="ltr">ipsum dolor sit</span> amet</div>',
  `${behavior} 4-2 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lor|em <span dir="ltr">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">|Lor^em <span dir="ltr">ipsum dolor sit</span> amet</div>',
  `${behavior} 4-3 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lore|m <span dir="ltr">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">|Lore^m <span dir="ltr">ipsum dolor sit</span> amet</div>',
  `${behavior} 4-4 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem| <span dir="ltr">ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">|Lorem^ <span dir="ltr">ipsum dolor sit</span> amet</div>',
  `${behavior} 4-5 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">|ipsum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">|Lorem ^<span dir="ltr">ipsum dolor sit</span> amet</div>',
  `${behavior} 4-6 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">i|psum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">|i^psum dolor sit</span> amet</div>',
  `${behavior} 4-7 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ip|sum dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">|ip^sum dolor sit</span> amet</div>',
  `${behavior} 4-8 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ips|um dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">|ips^um dolor sit</span> amet</div>',
  `${behavior} 4-9 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsu|m dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">|ipsu^m dolor sit</span> amet</div>',
  `${behavior} 4-10 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum| dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">|ipsum^ dolor sit</span> amet</div>',
  `${behavior} 4-11 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum |dolor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">|ipsum ^dolor sit</span> amet</div>',
  `${behavior} 4-12 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum d|olor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum |d^olor sit</span> amet</div>',
  `${behavior} 4-13 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum do|lor sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum |do^lor sit</span> amet</div>',
  `${behavior} 4-14 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dol|or sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum |dol^or sit</span> amet</div>',
  `${behavior} 4-15 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolo|r sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum |dolo^r sit</span> amet</div>',
  `${behavior} 4-16 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor| sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum |dolor^ sit</span> amet</div>',
  `${behavior} 4-17 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor |sit</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum |dolor ^sit</span> amet</div>',
  `${behavior} 4-18 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor s|it</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor |s^it</span> amet</div>',
  `${behavior} 4-19 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor si|t</span> amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor |si^t</span> amet</div>',
  `${behavior} 4-20 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span>| amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor |sit^</span> amet</div>',
  `${behavior} 4-21 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> |amet</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor |sit</span> ^amet</div>',
  `${behavior} 4-22 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> a|met</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> |a^met</div>',
  `${behavior} 4-23 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> am|et</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> |am^et</div>',
  `${behavior} 4-24 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> ame|t</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> |ame^t</div>',
  `${behavior} 4-25 rtl right word`);

selection_test(
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> amet|</div>',
  selection => selection.modify('extend', 'right', 'word'),
  '<div contenteditable dir="rtl">Lorem <span dir="ltr">ipsum dolor sit</span> |amet^</div>',
  `${behavior} 4-26 rtl right word`);
}
</script>
