chromium/third_party/blink/web_tests/http/tests/local/formdata/send-form-data-constructed-from-form.html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<body>
<form id=f>
<input type=hidden name="submitted" value="true">
<input type=button name="button" value="value1">
<input type=checkbox name="checkbox" value="value2" checked>
<input type=radio name="radio" value="value3" checked>
<input type=text name="text" value="value4">
<input type=text name="text2" value="value5" disabled>
<input type=file id="file" name="file" onchange="onInputFileChange()">
<input type=submit>
</form>
<pre id='console'></pre>

<script>
function log(message)
{
    document.getElementById('console').appendChild(document.createTextNode(message + "\n"));
}

function onInputFileChange()
{
    log("Test that FormData constructor takes a HTML Form element.");

    var file = document.getElementById("file").files[0];
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://127.0.0.1:8000/xmlhttprequest/resources/multipart-post-echo.php", false);
    xhr.send(new FormData(document.getElementById("f")));
    log("Response: " + xhr.responseText);

    log("DONE");
    if (testRunner.notifyDone)
        testRunner.notifyDone();
}

function moveMouseToCenterOfElement(element)
{
    var centerX = element.offsetLeft + element.offsetWidth / 2;
    var centerY = element.offsetTop + element.offsetHeight / 2;
    eventSender.mouseMoveTo(centerX, centerY);
}

function runTests()
{
    eventSender.beginDragWithFiles(['resources/test.txt']);
    moveMouseToCenterOfElement(document.getElementById("file"));
    eventSender.mouseUp();
}

if (window.eventSender) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    window.onload = runTests;
}
</script>
</body>
</html>