blob: 08d2cd7908dec525479fc4b85d30d9800fb6efe2 [file] [log] [blame]
<p>This tests the ability to drag a file onto &lt;input type="file"&gt;</p>
<p>To test manually you need to attempt to drag a file onto the file input below</p>
<input id="target" type="file"/><br />
<input id="dragStart" type="text" value="This input field is only present to allow DRT to initiate a drag"></input><br />
<pre id="console"></pre>
<script>
function debug(str) {
var c = document.getElementById('console')
c.appendChild(document.createTextNode(str + '\n'));
}
function runTest() {
var dragStart = document.getElementById("dragStart");
var x = dragStart.offsetLeft + dragStart.offsetWidth / 2;
var y = dragStart.offsetTop + dragStart.offsetHeight / 2;
var target = document.getElementById("target");
var tx = target.offsetLeft + target.offsetWidth / 2;
var ty = target.offsetTop + target.offsetHeight / 2;
dragStart.select();
var initialValue = target.value;
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
eventSender.leapForward(400);
eventSender.mouseMoveTo(tx, ty);
eventSender.mouseUp();
var finalValue = target.value;
if (initialValue == finalValue || finalValue != "DRTFakeFile")
debug("FAIL: Could not drop file on to file input");
else
debug("PASS: Successfully dropped file on to file input");
debug("PASS: Finished test");
}
if (window.layoutTestController) {
layoutTestController.addFileToPasteboardOnDrag();
layoutTestController.dumpAsText();
runTest();
}
// remove drag source
var dragStart = document.getElementById("dragStart");
dragStart.parentNode.removeChild(dragStart);
</script>