<!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': 'UTF8-file', 'path': '../resources/UTF8.txt' },
    { 'name': 'UTF16BE-BOM-file', 'path': '../resources/UTF16BE-BOM.txt' },
    { 'name': 'UTF16LE-BOM-file', 'path': '../resources/UTF16LE-BOM.txt' },
    { 'name': 'UTF8-BOM-file', 'path': '../resources/UTF8-BOM.txt' },
    { 'name': 'UTF16BE-file', 'path': '../resources/UTF16BE.txt' },
    { 'name': 'binary-file', 'path': '../resources/binary-file' },
];

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

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