| <!doctype html> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <script src="../../assert_selection.js"></script> |
| <script> |
| // To verify "mac" behavior other than macOS, please add following lines: |
| // internals.settings.setEditingBehavior('mac'); |
| // internals.settings.setSelectTrailingWhitespaceEnabled(false); |
| const isMac = navigator.platform.indexOf('Mac') === 0; |
| |
| selection_test( |
| '<div contenteditable dir="rtl">|abc def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc| def<div><br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc |def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-0 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">a|bc def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc| def<div><br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc |def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-1 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">ab|c def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc| def<div><br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc |def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-2 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc| def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc |def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-3 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc |def<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-4 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc d|ef<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-5 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc de|f<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-6 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def|<div><br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div>|<br></div><div><br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div>|<br></div><div><br></div><div><br></div>uvw xyz</div>', |
| '2-7 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div>|<br></div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div>|<br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div>|<br></div><div><br></div>uvw xyz</div>', |
| '2-8 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br>|</div><div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div>|<br></div><div><br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div>|<br></div><div><br></div>uvw xyz</div>', |
| '2-9 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div>|<div><br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div>|<br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div>|<br></div>uvw xyz</div>', |
| '2-10 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div>|<br></div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div>|<br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div>|<br></div>uvw xyz</div>', |
| '2-11 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br>|</div><div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div>|<br></div>uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div>|<br></div>uvw xyz</div>', |
| '2-12 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div>|<div><br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>|uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>|uvw xyz</div>', |
| '2-13 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div>|<br></div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>|uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>|uvw xyz</div>', |
| '2-14 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br>|</div>uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>|uvw xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>|uvw xyz</div>', |
| '2-15 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>|uvw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw| xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw |xyz</div>', |
| '2-16 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>u|vw xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw| xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw |xyz</div>', |
| '2-17 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uv|w xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw| xyz</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw |xyz</div>', |
| '2-18 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw| xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw |xyz</div>', |
| '2-19 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw |xyz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>', |
| '2-20 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw x|yz</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>', |
| '2-21 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xy|z</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| isMac |
| ? '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>' |
| : '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>', |
| '2-22 rtl left word'); |
| |
| selection_test( |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>', |
| selection => selection.modify('move', 'left', 'word'), |
| '<div contenteditable dir="rtl">abc def<div><br></div><div><br></div><div><br></div>uvw xyz|</div>', |
| '2-23 rtl left word'); |
| </script> |