blob: b85e328f9c833e7eb4b05bfbd09c6c804705b1f3 [file] [log] [blame]
<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>
// BiDi with quotations in single line
const kStyle = 'width: 600px; font: 20px monospace';
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" style="${kStyle}">|\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">|\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-0 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6|\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">|\u05D6^\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-1 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7|\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">|\u05D6\u05D7^\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-2 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8| \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">|\u05D6\u05D7\u05D8^ \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-3 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 |\u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">|\u05D6\u05D7\u05D8 ^\u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-4 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497|\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 |\u1497^\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-5 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498|\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 |\u1497\u1498^\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-6 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499| \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 |\u1497\u1498\u1499^ \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-7 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 |\u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 |\u1497\u1498\u1499 ^\u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-8 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500|\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 |\u1500^\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-9 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501|\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 |\u1500\u1501^\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-10 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502| \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 |\u1500\u1501\u1502^ \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-11 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 |\'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 |\u1500\u1501\u1502 ^\'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-12 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'|\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 |\'^\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-13 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202A|they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 |\'\u202A^they said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-14 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202At|hey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202A|t^hey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-15 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Ath|ey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202A|th^ey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-16 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athe|y said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202A|the^y said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-17 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey| said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202A|they^ said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-18 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey |said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202A|they ^said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-19 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey s|aid "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey |s^aid "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-20 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey sa|id "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey |sa^id "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-21 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey sai|d "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey |sai^d "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-22 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said| "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey |said^ "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-23 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said |"\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey |said ^"\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-24 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "|\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said |"^\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-25 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202B|car \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said |"\u202B^car \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-26 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bc|ar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202B|c^ar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-27 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bca|r \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202B|ca^r \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-28 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar| \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202B|car^ \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-29 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar |\u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202B|car ^\u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-30 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3|\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar |\u05D3^\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-31 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4|\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar |\u05D3\u05D4^\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-32 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5| \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar |\u05D3\u05D4\u05D5^ \u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-33 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar |\u05D3\u05D4\u05D5 ^\u05D0\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-34 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0|\u05D1\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0^\u05D1\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-35 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1|\u05D2\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1^\u05D2\u202C"\u202C\'?</div>`,
`${behavior} 19-36 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2|\u202C"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1\u05D2^\u202C"\u202C\'?</div>`,
`${behavior} 19-37 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C|"\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 |\u05D0\u05D1\u05D2\u202C^"\u202C\'?</div>`,
`${behavior} 19-38 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"|\u202C\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C|"^\u202C\'?</div>`,
`${behavior} 19-39 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C|\'?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C|"\u202C^\'?</div>`,
`${behavior} 19-40 rtl right word`);
selection_test(
`<div contenteditable dir="rtl" style="${kStyle}">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C"\u202C\'|?</div>`,
selection => selection.modify('extend', 'right', 'word'),
`<div contenteditable dir="rtl" style="width: 600px; font: 20px monospace">\u05D6\u05D7\u05D8 \u1497\u1498\u1499 \u1500\u1501\u1502 \'\u202Athey said "\u202Bcar \u05D3\u05D4\u05D5 \u05D0\u05D1\u05D2\u202C|"\u202C\'^?</div>`,
`${behavior} 19-41 rtl right word`);
}
</script>