blob: 3d82a429e1c4686b25a3ec9b5d1c2b3160b463c9 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../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("Spelling markers should remain for double-clicked misspellings. "
+ "To test manually, type 'wellcome home.', double-click on 'wellcome'. "
+ "The test succeeds when 'wellcome' remains spelling marker.");
initSpellTest("destination", "wellcome home.", function(textNode) {
spellingMarkerRange = internals.markerRangeForNode(textNode, "spelling", 0);
shouldBeEqualToString("spellingMarkerRange.toString()", "wellcome");
shouldBeEqualToString("window.getSelection().toString()", "");
// Double-click the misspelled word without trailing whitespace.
verifySpellingMarkersAfterDoubleClick(textNode, false, function() {
window.getSelection().removeAllRanges();
shouldBeEqualToString("window.getSelection().toString()", "");
// Double-click the misspelled word with trailing whitespace.
verifySpellingMarkersAfterDoubleClick(textNode, true, finishJSTest);
});
});
function verifySpellingMarkersAfterDoubleClick(textNode, isSelectTrailingWhitespaceEnabled, completionCallback) {
internals.settings.setSelectTrailingWhitespaceEnabled(isSelectTrailingWhitespaceEnabled);
internals.settings.setSmartInsertDeleteEnabled(!isSelectTrailingWhitespaceEnabled);
var x = destination.offsetParent.offsetLeft + destination.offsetLeft + 40;
var y = destination.offsetParent.offsetTop + destination.offsetTop + destination.offsetHeight / 2;
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
shouldBeEqualToString("window.getSelection().toString()", isSelectTrailingWhitespaceEnabled ? "wellcome " : "wellcome");
var spellingMarkerRange = internals.markerRangeForNode(textNode, "spelling", 0);
shouldBecomeEqualToString("spellingMarkerRange.toString()", "wellcome", completionCallback);
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>