<!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="ltr">|they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">|they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-0 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">t|hey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">|t^hey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-1 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">th|ey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">|th^ey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-2 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">the|y said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">|the^y said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-3 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they| said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">|they^ said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-4 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they |said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">|they ^said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-5 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they s|aid "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they |s^aid "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-6 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they sa|id "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they |sa^id "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-7 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they sai|d "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they |sai^d "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-8 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said| "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they |said^ "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-9 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said |"\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they |said ^"\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-10 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "|\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said |"^\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-11 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202B|car \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said |"\u202B^car \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-12 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bc|ar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202B|c^ar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-13 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bca|r \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202B|ca^r \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-14 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar| \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202B|car^ \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-15 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar |\u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202B|car ^\u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-16 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3|\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar |\u05D3^\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-17 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4|\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar |\u05D3\u05D4^\u05D5 \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-18 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5| \u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar |\u05D3\u05D4\u05D5^ \u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-19 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar |\u05D3\u05D4\u05D5 ^\u05D0\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-20 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0|\u05D1\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0^\u05D1\u05D2\u202C."</div>',
  `${behavior} 18-21 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1|\u05D2\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1^\u05D2\u202C."</div>',
  `${behavior} 18-22 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2|\u202C."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1\u05D2^\u202C."</div>',
  `${behavior} 18-23 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C|."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1\u05D2\u202C^."</div>',
  `${behavior} 18-24 ltr left word`);

selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C.|"</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C|.^"</div>',
  `${behavior} 18-25 ltr left word`);

  selection_test(
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C|."</div>',
  selection => selection.modify('extend', 'left', 'word'),
  '<div contenteditable dir="ltr">they said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1\u05D2\u202C^."</div>',
  `${behavior} 18-26 ltr left word`);
}
</script>
