blob: d38c63c30aee774955e73ca24ce2b0da3b740ca6 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../../resources/basic-gestures.js"></script>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
async function runTest()
{
if (!testRunner.runUIScript)
return;
var output = '';
var firstTargetRect = document.getElementById('firstSelection').getBoundingClientRect();
var secondTargetRect = document.getElementById('secondSelection').getBoundingClientRect();
var thirdTargetRect = document.getElementById('thirdSelection').getBoundingClientRect();
var pressPointX = firstTargetRect.x+firstTargetRect.width / 2;
var pressPointY = firstTargetRect.y+firstTargetRect.height / 2;
var dragY = firstTargetRect.y;
var dragX = firstTargetRect.x;
var dragX2 = secondTargetRect.x;
var dragX3 = thirdTargetRect.x;
var dragX4 = firstTargetRect.x + firstTargetRect.width;
await longPressAtPoint(pressPointX, pressPointY);
if (document.getSelection().toString() == "aliqua")
output += 'PASS: Correct Selection';
else
output += 'FAIL: failed to select a word as a result of a long press. Incorrect Selection: ' + document.getSelection().toString();
output += '<br>';
await touchAndDragFromPointToPoint(dragX, dragY, dragX2, dragY);
if (document.getSelection().toString() == "magna aliqua")
output += 'PASS: Correct Selection';
else
output += 'FAIL: failed to select additional word after a drag. Incorrect Selection: ' + document.getSelection().toString();
output += '<br>';
await touchAndDragFromPointToPoint(dragX2, dragY, dragX3, dragY);
if (document.getSelection().toString() == "dolore magna aliqua")
output += 'PASS: Correct Selection';
else
output += 'FAIL: failed to select additional word after a drag. Incorrect Selection: ' + document.getSelection().toString();
output += '<br>';
await touchAndDragFromPointToPoint(dragX3, dragY, dragX2, dragY);
if (document.getSelection().toString() == "magna aliqua")
output += 'PASS: Correct Selection';
else
output += 'FAIL: failed to deselect word after a drag. Incorrect Selection: ' + document.getSelection().toString();
output += '<br>';
await touchAndDragFromPointToPoint(dragX2, dragY, dragX, dragY);
if (document.getSelection().toString() == "aliqua")
output += 'PASS: Correct Selection';
else
output += 'FAIL: failed to deselect word after a drag. Incorrect Selection: ' + document.getSelection().toString();
output += '<br>';
var result = await touchAndDragFromPointToPoint(dragX, dragY, dragX4, dragY);
if (document.getSelection().toString() == "a")
output += 'PASS: Correct Selection';
else
output += 'FAIL: failed to reduce selection to a single character by dragging right. Incorrect Selection: ' + document.getSelection().toString();
output += '<br>';
output += result;
document.getElementById('target').innerHTML = output;
testRunner.notifyDone();
}
window.addEventListener('load', runTest, false);
</script>
<style>
#target {
height: 400px;
width: 300px;
background-color: silver;
font-family: monospace;
font-size: 18px;
}
</style>
<meta name="viewport" content="initial-scale=1">
</head>
<body>
<div id="target">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et <span id="thirdSelection"></span>dolore <span id="secondSelection"></span>magna <span id="firstSelection">aliqua</span>. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
This test requires UIScriptController to run.
</div>
</body>
</html>