2 <p id=
"description"></p>
5 <li>Move middle of the first paragraph
</li>
7 <li>Caret should be start of paragrah
</li>
8 <li>Type Ctrl+Down
</li>
9 <li>Caret should be next paragrah
</li>
10 <li>Do above step with Ctrl+Shift key to extend selection
</li>
13 <div id=
"sample" contenteditable=
"true"><p>This is the first paragraph. Key binding of Ctrl+Up/Down are available only Windows.
</p><p>This is second paragraph. Do you want to have these key bindings on other platforms?
</p>
16 <script src=
"../../resources/js-test.js"></script>
18 description('Test Ctrl+Up/Down motion');
19 function $(id
) { return document
.getElementById(id
); }
20 var sample
= $('sample');
21 var selection
= window
.getSelection();
22 var range
= document
.createRange();
23 range
.setStart(sample
.firstChild
.firstChild
, 3);
24 selection
.addRange(range
);
26 var paragraph1
= sample
.firstChild
.firstChild
;
27 var paragraph2
= sample
.childNodes
[1].firstChild
;
28 if (window
.eventSender
) {
29 eventSender
.keyDown('upArrow', ['ctrlKey']);
30 shouldBeEqualToString('selection.type', 'Caret');
31 shouldBe('selection.focusNode', 'paragraph1');
32 shouldBe('selection.focusOffset', '0');
34 eventSender
.keyDown('downArrow', ['ctrlKey']);
35 shouldBeEqualToString('selection.type', 'Caret');
36 shouldBe('selection.focusNode', 'paragraph2');
37 shouldBe('selection.focusOffset', '3');
39 eventSender
.keyDown('downArrow', ['ctrlKey', 'shiftKey']);
40 shouldBeEqualToString('selection.type', 'Range');
41 shouldBe('selection.focusNode', 'paragraph2');
42 shouldBe('selection.focusOffset', '84');
44 eventSender
.keyDown('upArrow', ['ctrlKey', 'shiftKey']);
45 shouldBeEqualToString('selection.type', 'Range');
46 shouldBe('selection.focusNode', 'paragraph1');
47 shouldBe('selection.focusOffset', '3');
49 if (window
.testRunner
)
50 $('container').outerHTML
= '';