<!DOCTYPE html>
<html>
<body>
<input type="file" name="file" id="file" onchange="onInputFileChange(testFileInfoList)" multiple>
<pre id='console'></pre>

<script src="../resources/setup-for-read-common.js"></script>
<script>
var testFileInfoList = [
    { 'name': 'non-existent', 'path': '../resources/non-existent' },
    { 'name': 'empty-file', 'path': '../resources/empty-file' },
    { 'name': 'file1', 'path': '../resources/UTF8.txt' },
    { 'name': 'file2', 'path': '../resources/UTF8-2.txt' },
    { 'name': 'file3', 'path': '../resources/UTF8-3.txt' },
];

function startTest(testFiles)
{
    startWorker(testFiles, "resources/worker-read-blob-async.js");
}

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