4 <script src="../../resources/js-test.js"></script>
5 <script src="resources/util.js"></script>
9 <div id="destination" contentEditable></div>
14 description("Spelling should be disabled when user selects a part of misspelling. " +
15 "To test manually, type 'wellcome home.' select 'llco', and context-click on the selection. " +
16 "The test suceeds when the context menu has no spell check suggestions.");
18 initSpellTest("destination", "wellcome home.", function(textNode) {
19 spellingMarkerRange = internals.markerRangeForNode(textNode, "spelling", 0);
20 shouldBeEqualToString("spellingMarkerRange.toString()", "wellcome");
21 shouldBeEqualToString("window.getSelection().toString()", "");
23 // Select the text "llco".
24 var subWordRange = document.createRange();
25 subWordRange.setStart(textNode, 2);
26 subWordRange.setEnd(textNode, 6);
27 window.getSelection().removeAllRanges();
28 window.getSelection().addRange(subWordRange);
30 shouldBeEqualToString("window.getSelection().toString()", "llco");
32 // Context click on 'llco' to show the context menu.
33 var x = destination.offsetParent.offsetLeft + destination.offsetLeft + 40;
34 var y = destination.offsetParent.offsetTop + destination.offsetTop + destination.offsetHeight / 2;
35 eventSender.mouseMoveTo(x, y);
36 contextMenuElements = eventSender.contextClick();
37 // Esc key to hide the context menu.
38 eventSender.keyDown("escape", null);
40 spellingMarkerRange = internals.markerRangeForNode(textNode, "spelling", 0);
41 shouldBeEqualToString("spellingMarkerRange.toString()", "wellcome");
42 shouldBeEqualToString("window.getSelection().toString()", "llco");
43 shouldBeEqualToString("contextMenuElements[contextMenuElements.length - 1]", "<separator>");