blob: 70de08c7a0fe21c73b45568bb2471956609a0465 [file] [log] [blame]
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<script src="../../../resources/js-test.js"></script>
<script src="../../../resources/ui-helper.js"></script>
</head>
<body onload="runTest()">
<div><input id="input-keyboard" inputmode="text"></div>
<div><input id="input-nokeyboard" inputmode="none"></div>
<pre id="description"></pre>
<pre id="console"></pre>
<script>
jsTestIsAsync = true;
async function runTest() {
inputWithSystemKeyboard = document.getElementById("input-keyboard");
inputWithoutSystemKeyboard = document.getElementById("input-nokeyboard");
description("This test verifies that the system keyboard is not visible when tapping on an input field with inputmode=none.");
debug("\nACTIVATE input with inputmode=text");
await UIHelper.activateElementAndWaitForInputSession(inputWithSystemKeyboard);
systemKeyboardRect = await UIHelper.inputViewBounds();
shouldBe("systemKeyboardRect.height > 0", "true");
await UIHelper.enterText("Text");
shouldBe("inputWithSystemKeyboard.value", "'Text'");
debug("\nACTIVATE input with inputmode=none");
await UIHelper.activateElement(inputWithoutSystemKeyboard);
await UIHelper.waitForKeyboardToHide();
testPassed("Successfully dismissed keyboard");
debug("\nTEST enter text in input with inputmode=none");
await UIHelper.enterText("None");
shouldBe("inputWithoutSystemKeyboard.value", "'None'");
debug("\nTEST selection in input with inputmode=none");
inputWithoutSystemKeyboard.select();
selectionRects = [];
while (!selectionRects.length)
selectionRects = await UIHelper.getUISelectionViewRects();
shouldBe("selectionRects.length", "1");
shouldBe("selectionRects[0].left", "16");
shouldBe("selectionRects[0].top", "38");
shouldBe("selectionRects[0].width", "27");
shouldBe("selectionRects[0].height", "15");
finishJSTest();
}
</script>
</body>
</html>