blob: c4b71197a0b377573503eeb88d9231fde665cd6d [file] [log] [blame]
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true editable=true ] -->
<html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<head>
<script src="../../../resources/basic-gestures.js"></script>
<script src="../../../resources/ui-helper.js"></script>
<style>
body {
margin: 0;
}
</style>
<script>
function appendOutput(string) {
let pre = document.createElement("pre");
pre.textContent = string;
document.body.appendChild(pre);
}
beforeInputEvents = [];
inputEvents = [];
eventNumber = 0;
async function run()
{
script.remove();
document.body.addEventListener("beforeinput", event => {
beforeInputEvents.push({
"inputType": event.inputType,
"data": event.data,
"order": ++eventNumber
});
});
document.body.addEventListener("input", event => {
inputEvents.push({
"inputType": event.inputType,
"data": event.data,
"order": ++eventNumber
});
});
await UIHelper.setKeyboardInputModeIdentifier("he_IL");
await UIHelper.activateAndWaitForInputSessionAt(100, 250);
await UIHelper.ensurePresentationUpdate();
const markupUsingHebrewKeyboard = document.body.innerHTML;
document.body.blur();
await UIHelper.waitForKeyboardToHide();
await UIHelper.setKeyboardInputModeIdentifier("en_US");
await UIHelper.activateAndWaitForInputSessionAt(100, 250);
await UIHelper.ensurePresentationUpdate();
const markupUsingEnglishKeyboard = document.body.innerHTML;
appendOutput(`Using Hebrew keyboard: ${markupUsingHebrewKeyboard}`);
appendOutput(`Using English keyboard: ${markupUsingEnglishKeyboard}`);
appendOutput(`Observed 'beforeinput' events: ${JSON.stringify(beforeInputEvents, null, 4)}`);
appendOutput(`Observed 'input' events: ${JSON.stringify(inputEvents, null, 4)}`);
testRunner.notifyDone();
}
</script>
</head>
<body onload="run()">
<div><br></div>
<div><br></div>
</body>
<script id="script">
if (window.testRunner) {
testRunner.waitUntilDone();
testRunner.dumpAsText();
} else {
const description = document.createElement("p");
description.textContent = "Verifies that focusing an editable area with an RTL keyboard switches text direction to RTL. "
+ "To test manually, switch to a Hebrew keyboard and focus the editable area. "
+ "The editable area should be made RTL.";
document.body.prepend(description);
}
</script>
</html>