blob: 31a6c95831f36b555f5e4521bf9310f87756a403 [file] [log] [blame]
<style>
div {
width: 50px;
height: 50px;
overflow: hidden;
box-sizing: border-box;
border: solid;
margin: 10px;
resize: both;
}
</style>
<pre id="console"></pre>
<div id="target" dir="rtl"></div>
<script type="text/javascript">
var mouseX = 0;
var mouseY = 0;
function log(message)
{
document.getElementById("console").appendChild(document.createTextNode(message + "\n"));
}
async function beginResize(target)
{
var x = document.body.offsetLeft + target.offsetLeft;
var y = document.body.offsetTop + target.offsetTop + target.offsetHeight;
mouseX = x + 6;
mouseY = y - 6;
await eventSender.asyncMouseMoveTo(mouseX, mouseY);
await eventSender.asyncMouseDown();
}
async function endResize()
{
await eventSender.asyncMouseUp();
}
async function resize(deltaX, deltaY)
{
mouseX += deltaX;
mouseY += deltaY;
await eventSender.asyncMouseMoveTo(mouseX, mouseY);
}
function assertSize(target, width, height)
{
var computedStyle = getComputedStyle(target);
var actualWidth = computedStyle.width;
var actualHeight = computedStyle.height;
if (actualWidth === width && actualHeight === height)
log("'" + target.id + "' resized as expected to (" + width + ", " + height + ").");
else
log("FAIL: '" + target.id + "' resized to (" + actualWidth + ", " + actualHeight + ") instead of (" + width + ", " + height + ").");
}
onload = async () => {
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
var target = document.getElementById("target");
await beginResize(target);
await resize(0, 50);
await endResize();
assertSize(target, "50px", "100px");
await beginResize(target);
await resize(-5, 50);
await endResize();
assertSize(target, "55px", "150px");
await beginResize(target);
await resize(5, -50);
await endResize();
assertSize(target, "50px", "100px");
await beginResize(target);
await resize(-5, 0);
await resize(0, 10);
await resize(0, 10);
await resize(0, 10);
await resize(0, 10);
await resize(0, 10);
await endResize();
assertSize(target, "55px", "150px");
await beginResize(target);
await resize(-5, -160);
await resize(5, 10);
await endResize();
assertSize(target, "55px", "15px");
testRunner.notifyDone();
}
}
</script>