68 lines
2.1 KiB
HTML
68 lines
2.1 KiB
HTML
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
|
|
<html>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<head>
|
|
<script src="../../../resources/js-test.js"></script>
|
|
<script src="../../../resources/ui-helper.js"></script>
|
|
</head>
|
|
<body>
|
|
<form>
|
|
<input type="date" id="date" required>
|
|
<br>
|
|
<input type="text" id="text" required>
|
|
<br>
|
|
<input type="submit" id="submit">
|
|
</form>
|
|
<script>
|
|
jsTestIsAsync = true;
|
|
|
|
description("Test that input peripherals are not presented when focusing form controls with a validation message.");
|
|
addEventListener("load", async () => {
|
|
if (!window.testRunner)
|
|
return;
|
|
|
|
debug("Tap on submit button with an empty required date input.");
|
|
await UIHelper.activateElementAndWaitForInputSession(submit);
|
|
shouldBe("document.activeElement", "date");
|
|
|
|
isShowingValidationMessage = await UIHelper.isShowingPopover();
|
|
shouldBeTrue("isShowingValidationMessage");
|
|
|
|
hasInputSession = await UIHelper.hasInputSession();
|
|
shouldBeFalse("hasInputSession");
|
|
|
|
debug("\nDismiss validation bubble and tap on date input.");
|
|
await UIHelper.tapAt(1, 1);
|
|
await UIHelper.waitForPopoverToDismiss();
|
|
await UIHelper.activateElementAndWaitForInputSession(date);
|
|
|
|
shouldBe("document.activeElement", "date");
|
|
|
|
isShowingValidationMessage = await UIHelper.isShowingPopover();
|
|
shouldBeFalse("isShowingValidationMessage");
|
|
|
|
hasInputSession = await UIHelper.hasInputSession();
|
|
shouldBeTrue("hasInputSession");
|
|
|
|
await UIHelper.tapAt(1, 1);
|
|
await UIHelper.waitForContextMenuToHide();
|
|
|
|
// Fill date, so that the text input receives the validation message on submit.
|
|
date.value = "2020-10-20";
|
|
|
|
debug("\nTap on submit button with an empty required text input.");
|
|
await UIHelper.activateElementAndWaitForInputSession(submit);
|
|
shouldBe("document.activeElement", "text");
|
|
|
|
isShowingValidationMessage = await UIHelper.isShowingPopover();
|
|
shouldBeTrue("isShowingValidationMessage");
|
|
|
|
hasInputSession = await UIHelper.hasInputSession();
|
|
shouldBeTrue("hasInputSession");
|
|
|
|
finishJSTest();
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|