haikuwebkit/LayoutTests/fast/forms/ios/accessory-bar-navigation.html

111 lines
3.2 KiB
HTML

<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
<html>
<head>
<meta name="viewport" content="initial-scale=0.75, user-scalable=no">
<style>
input[type="text"] {
display: block;
margin: 800px 20px;
}
button {
display: block;
}
</style>
<script src="resources/zooming-test-utils.js"></script>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
function getMoveUIScript(nextOrPrevious)
{
return `
(function() {
uiController.didEndZoomingCallback = function() {
var result = {
'scale' : uiController.zoomScale,
'visibleRect' : uiController.contentVisibleRect
};
var result = JSON.stringify(result, function(key, value) {
if (typeof value === "number")
return value.toFixed(3);
return value;
});
uiController.uiScriptComplete(result);
};
uiController.keyboardAccessoryBar${nextOrPrevious}();
})();`
}
function moveToNextField()
{
var uiScript = getMoveUIScript('Next');
testRunner.runUIScript(uiScript, function(result) {
var header = document.createElement('h1');
header.textContent = 'After move to second field';
document.body.appendChild(header);
var results = tableFromJSON(result);
document.body.appendChild(results);
moveToPreviousField();
});
}
function moveToPreviousField()
{
var uiScript = getMoveUIScript('Previous');
testRunner.runUIScript(uiScript, function(result) {
var header = document.createElement('h1');
header.textContent = 'After move to first field';
document.body.appendChild(header);
var results = tableFromJSON(result);
document.body.appendChild(results);
testRunner.notifyDone();
});
}
function tapOnElement(targetElement, xOffset, yOffset)
{
var point = getPointInsideElement(targetElement, xOffset, yOffset);
var uiScript = zoomAfterSingleTapUIScript(point.x, point.y);
testRunner.runUIScript(uiScript, function(result) {
var header = document.createElement('h1');
header.textContent = 'After focus first field';
document.body.appendChild(header);
var results = tableFromJSON(result);
document.body.appendChild(results);
moveToNextField();
});
}
function doTest()
{
if (!window.testRunner || !testRunner.runUIScript)
return;
tapOnElement(document.getElementById('input'), 10, 10);
}
window.addEventListener('load', doTest, false);
</script>
</head>
<body>
<p>Tests zooming into a text input on tap.</p>
<input id="input" type="text">
<input id="input2" type="text">
</body>
</html>