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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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