<!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: ltr">ipsum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> sit</span> amet</div>',
  '7-0 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">L|orem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|L^orem <span style="direction: ltr">ipsum dolor<div> just a test</div> sit</span> amet</div>',
  '7-1 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lo|rem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lo^rem <span style="direction: ltr">ipsum dolor<div> just a test</div> sit</span> amet</div>',
  '7-2 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lor|em <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lor^em <span style="direction: ltr">ipsum dolor<div> just a test</div> sit</span> amet</div>',
  '7-3 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lore|m <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lore^m <span style="direction: ltr">ipsum dolor<div> just a test</div> sit</span> amet</div>',
  '7-4 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem| <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem^ <span style="direction: ltr">ipsum dolor<div> just a test</div> sit</span> amet</div>',
  '7-5 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">|ipsum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem ^<span style="direction: ltr">ipsum dolor<div> just a test</div> sit</span> amet</div>',
  '7-6 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">i|psum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">i^psum dolor<div> just a test</div> sit</span> amet</div>',
  '7-7 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ip|sum dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ip^sum dolor<div> just a test</div> sit</span> amet</div>',
  '7-8 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ips|um dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ips^um dolor<div> just a test</div> sit</span> amet</div>',
  '7-9 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsu|m dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsu^m dolor<div> just a test</div> sit</span> amet</div>',
  '7-10 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum| dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsum^ dolor<div> just a test</div> sit</span> amet</div>',
  '7-11 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum |dolor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsum ^dolor<div> just a test</div> sit</span> amet</div>',
  '7-12 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum d|olor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsum d^olor<div> just a test</div> sit</span> amet</div>',
  '7-13 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum do|lor<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsum do^lor<div> just a test</div> sit</span> amet</div>',
  '7-14 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dol|or<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsum dol^or<div> just a test</div> sit</span> amet</div>',
  '7-15 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolo|r<div > just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">|Lorem <span style="direction: ltr">ipsum dolo^r<div> just a test</div> sit</span> amet</div>',
  '7-16 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div >| just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just a test</div> sit</span> amet</div>',
  '7-17 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > |just a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just a test</div> sit</span> amet</div>',
  '7-18 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > j|ust a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |j^ust a test</div> sit</span> amet</div>',
  '7-19 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > ju|st a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |ju^st a test</div> sit</span> amet</div>',
  '7-20 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > jus|t a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |jus^t a test</div> sit</span> amet</div>',
  '7-21 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just| a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just^ a test</div> sit</span> amet</div>',
  '7-22 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just |a test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just ^a test</div> sit</span> amet</div>',
  '7-23 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a| test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just a^ test</div> sit</span> amet</div>',
  '7-24 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a |test</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just a ^test</div> sit</span> amet</div>',
  '7-25 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a t|est</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just a t^est</div> sit</span> amet</div>',
  '7-26 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a te|st</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just a te^st</div> sit</span> amet</div>',
  '7-27 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a tes|t</div> sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> |just a tes^t</div> sit</span> amet</div>',
  '7-28 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div>| sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit</span> amet</div>',
  '7-29 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> |sit</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit</span> amet</div>',
  '7-30 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> s|it</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |s^it</span> amet</div>',
  '7-31 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> si|t</span> amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |si^t</span> amet</div>',
  '7-32 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span>| amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit^</span> amet</div>',
  '7-33 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> |amet</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit</span> ^amet</div>',
  '7-34 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> a|met</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit</span> a^met</div>',
  '7-35 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> am|et</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit</span> am^et</div>',
  '7-36 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> ame|t</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit</span> ame^t</div>',
  '7-37 rtl backward lineboundary');

selection_test(
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div > just a test</div> sit</span> amet|</div>',
  selection => selection.modify('extend', 'backward', 'lineboundary'),
  '<div contenteditable dir="rtl">Lorem <span style="direction: ltr">ipsum dolor<div> just a test</div> |sit</span> amet^</div>',
  '7-38 rtl backward lineboundary');
</script>
