chromium/third_party/blink/web_tests/http/tests/xmlhttprequest/upload-onprogress-event.html

<html>
<body>
<p>This test that progress events are fired for XMLHttpRequestUpload objects.</p>
<pre id='console'></pre>
<script type="text/javascript">
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

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

    var xhr;

    function progressHandler(evt)
    {
        log("PASS: onprogress event fired on XMLHttpRequestUpload.");
        log("onprogress: " + evt + " [Loaded: " + evt.loaded + " Total: " + evt.total + "]");
    }

    function readystatechangeHandler(evt)
    {
        if (xhr.readyState == xhr.DONE) {
            if (window.testRunner)
                testRunner.notifyDone();
        }
    }

    xhr = new XMLHttpRequest;
    xhr.upload.onprogress = progressHandler;
    xhr.onreadystatechange = readystatechangeHandler;
    xhr.open("POST", "resources/post-echo.cgi", true);
    xhr.send("data");
</script>
</body>
</html>