blob: 94e4c66d9e43f588d5700751a97d8a4e9dcb85ed [file] [log] [blame]
<!doctype html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../assert_selection.js"></script>
<script>
const kStyle = [
'<style>',
'#target {',
'direction: rtl;',
'font-family: Lucida Grande;',
'font-size: 40px;',
'width: 200px',
'}',
'</style>',
].join('');
// Soft line wrap at \u05D9
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'|before \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'b|efore \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '1');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'b|efore \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'be|fore \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '2');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'be|fore \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'bef|ore \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '3');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'bef|ore \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'befo|re \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '4');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'befo|re \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'befor|e \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '5');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'befor|e \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before| \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '6');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'before| \u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before |\u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '7');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'before |\u05d0\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0|\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '8');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0|\u05d7\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7|\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '9');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7|\u05e8\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7\u05e8|\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '10');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7\u05e8|\u05d9 \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7\u05e8\u05d9| \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '11');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7\u05e8\u05d9| \u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7\u05e8\u05d9 |\u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '12');
selection_test(
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7\u05e8\u05d9 |\u05d0\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
],
selection => selection.modify('move', 'forward', 'character'),
[
kStyle,
'<div contenteditable id="target">',
'before \u05d0\u05d7\u05e8\u05d9 \u05d0|\u05e0\u05e6\u05d9\u05e7\u05dc\u05d5\u05e4\u05d3\u05d9\u05d4',
'</div>',
], '13');
</script>