53 lines
1.6 KiB
HTML
53 lines
1.6 KiB
HTML
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
|
|
<html>
|
|
<head>
|
|
<script src="../../../resources/ui-helper.js"></script>
|
|
<script src="../../../resources/js-test.js"></script>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<style>
|
|
html, body {
|
|
margin: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
input {
|
|
width: 100%;
|
|
font-size: 100px;
|
|
display: block;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<input id="input" value="covfefe">
|
|
<div id="description"></div>
|
|
<div id="console"></div>
|
|
<script>
|
|
const input = document.getElementById("input");
|
|
jsTestIsAsync = true;
|
|
clicked = false;
|
|
selectionChanged = false;
|
|
|
|
description("This test verifies that tapping in a misspelled word selects the misspelled word, and does not cause " +
|
|
"the selection to collapse after a click event is dispatched. To manually test, tap the input field to bring up " +
|
|
"the keyboard, and then tap on a part of the word in the input field that is far away from the editing caret. As " +
|
|
"a result, the contents of the input should be selected and marked as a misspelled word.");
|
|
|
|
(async function() {
|
|
await UIHelper.activateAndWaitForInputSessionAt(40, 100);
|
|
|
|
input.addEventListener("click", () => clicked = true);
|
|
document.addEventListener("selectionchange", () => selectionChanged = true);
|
|
|
|
await UIHelper.tapAt(300, 100);
|
|
shouldBecomeEqual("clicked && selectionChanged", "true", () => {
|
|
shouldBe("input.selectionStart", "0");
|
|
shouldBe("input.selectionEnd", "7");
|
|
input.remove();
|
|
finishJSTest();
|
|
});
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|