blob: 86f2bad6594a6bfabbc4a138a65f5b82df17cdd3 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../assert_selection.js"></script>
<script>
selection_test(
[
'<div contenteditable>',
'<div>line| 1</div>',
'<div><span contenteditable="false">line 2</span><br></div>',
'<div>line 3</div>',
'</div>',
],
selection => selection.modify('move', 'forward', 'line'),
[
'<div contenteditable>',
'<div>line 1</div>',
'<div><span contenteditable="false">line 2</span>|<br></div>',
'<div>line 3</div>',
'</div>',
],
'Down arrow selection should not cross editing boundaries.');
selection_test(
[
'<div contenteditable>',
'<div>line| 1</div>',
'<div>abc<span contenteditable="false">line 2</span><br></div>',
'<div>line 3</div>',
'</div>',
],
selection => selection.modify('move', 'forward', 'line'),
[
'<div contenteditable>',
'<div>line 1</div>',
'<div>abc|<span contenteditable="false">line 2</span><br></div>',
'<div>line 3</div>',
'</div>',
],
'Down arrow selection should not cross editing boundaries when content is present before non-editable.');
selection_test(
[
'<div contenteditable>',
'<div>line 1</div>',
'<div><span contenteditable="false">line 2</span><br></div>',
'<div>line| 3</div>',
'</div>',
],
selection => selection.modify('move', 'backward', 'line'),
[
'<div contenteditable>',
'<div>line 1</div>',
'<div><span contenteditable="false">line 2</span>|<br></div>',
'<div>line 3</div>',
'</div>',
],
'Up arrow selection should not cross editing boundaries.');
selection_test(
[
'<div contenteditable>',
'<div>line 1</div>',
'<div>abc<span contenteditable="false">line 2</span><br></div>',
'<div>line| 3</div>',
'</div>',
],
selection => selection.modify('move', 'backward', 'line'),
[
'<div contenteditable>',
'<div>line 1</div>',
'<div>abc|<span contenteditable="false">line 2</span><br></div>',
'<div>line 3</div>',
'</div>',
],
'Up arrow selection should not cross editing boundaries when content is present before non-editable.');
selection_test(
[
'<div contenteditable>',
'<div>line 1</div>',
'<div><span contenteditable="false">line 2</span>test<br></div>',
'<div>line| 3</div>',
'</div>',
],
selection => selection.modify('move', 'backward', 'line'),
[
'<div contenteditable>',
'<div>line 1</div>',
'<div><span contenteditable="false">line 2</span>|test<br></div>',
'<div>line 3</div>',
'</div>',
],
'Up arrow selection should not cross editing boundaries when editable content present around non-editable.');
</script>
</html>