summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/editing/spelling/spelling-with-punctuation-selection.html
blob: f953c243e9a20c3b119baba1f9cb74ace46e2dc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!DOCTYPE html>
<html>
<head>
<script src="../../fast/js/resources/js-test-pre.js"></script>
<script src="resources/util.js"></script>
</head>
<body>
<div id="container">
  <div id="destination" contentEditable></div>
</div>

<script>

description("Punctuation marks should be treated as whitespace: spelling should ignore them. " +
            "To test manually, type 'wellcome!', select 'wellcome!', and context-click on the selection. " +
            "The test succeeds when the context menu has spell check suggestions.");

initSpellTest("destination", "wellcome!", function(textNode) {
    spellingMarkerRange = internals.markerRangeForNode(textNode, "spelling", 0);
    shouldBeEqualToString("spellingMarkerRange.toString()", "wellcome");
    shouldBeEqualToString("window.getSelection().toString()", "");

    // Select the text "wellcome!" with the exclamation mark.
    var range = document.createRange();
    range.setStart(textNode, 0);
    range.setEnd(textNode, 9);
    window.getSelection().removeAllRanges();
    window.getSelection().addRange(range);

    shouldBeEqualToString("window.getSelection().toString()", "wellcome!");

    // Context click to show the context menu.
    var x = destination.offsetParent.offsetLeft + destination.offsetLeft + 40;
    var y = destination.offsetParent.offsetTop + destination.offsetTop + destination.offsetHeight / 2;
    eventSender.mouseMoveTo(x, y);
    contextMenuElements = eventSender.contextClick();
    // Esc key to hide the context menu.
    eventSender.keyDown(String.fromCharCode(0x001B), null);

    spellingMarkerRange = internals.markerRangeForNode(textNode, "spelling", 0);
    shouldBeEqualToString("spellingMarkerRange.toString()", "wellcome");
    shouldBeEqualToString("window.getSelection().toString()", "wellcome!");
    shouldBeEqualToString("contextMenuElements[contextMenuElements.length - 1]", "welcome");
});

</script>
</body>
</html>