mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-08 12:19:05 +02:00
--HG-- rename : testing/web-platform/tests/FileAPI/progress.html => testing/web-platform/tests/FileAPI/progress-manual.html rename : testing/web-platform/tests/html/semantics/scripting-1/the-template-element/testcommon.js => testing/web-platform/tests/html/resources/common.js rename : testing/web-platform/tests/webstorage/iframe/event_body_handler.html => testing/web-platform/tests/webstorage/resources/event_body_handler.html rename : testing/web-platform/tests/webstorage/iframe/event_setattribute_handler.html => testing/web-platform/tests/webstorage/resources/event_setattribute_handler.html rename : testing/web-platform/tests/webstorage/iframe/local_change_item_iframe.html => testing/web-platform/tests/webstorage/resources/local_change_item_iframe.html rename : testing/web-platform/tests/webstorage/iframe/local_set_item_clear_iframe.html => testing/web-platform/tests/webstorage/resources/local_set_item_clear_iframe.html rename : testing/web-platform/tests/webstorage/iframe/local_set_item_iframe.html => testing/web-platform/tests/webstorage/resources/local_set_item_iframe.html rename : testing/web-platform/tests/webstorage/iframe/local_set_item_remove_iframe.html => testing/web-platform/tests/webstorage/resources/local_set_item_remove_iframe.html rename : testing/web-platform/tests/webstorage/iframe/session_change_item_iframe.html => testing/web-platform/tests/webstorage/resources/session_change_item_iframe.html rename : testing/web-platform/tests/webstorage/iframe/session_set_item_clear_iframe.html => testing/web-platform/tests/webstorage/resources/session_set_item_clear_iframe.html rename : testing/web-platform/tests/webstorage/iframe/session_set_item_iframe.html => testing/web-platform/tests/webstorage/resources/session_set_item_iframe.html rename : testing/web-platform/tests/webstorage/iframe/session_set_item_remove_iframe.html => testing/web-platform/tests/webstorage/resources/session_set_item_remove_iframe.html
49 lines
1.6 KiB
HTML
49 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset=utf-8>
|
|
<title>Process Events for FileReader</title>
|
|
<link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#event-handler-attributes-section">
|
|
<link rel=author title="Jinks Zhao" href="mailto:jinks@maxthon.com">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
Please choose one file through this input below.<br>
|
|
<input type="file" id="filer">
|
|
<div id="log"></div>
|
|
<script>
|
|
var input, reader, progressEventCounter, progressEventTimeList,
|
|
lastProgressEventTime;
|
|
setup(function() {
|
|
input = document.getElementById('filer');
|
|
reader = new FileReader();
|
|
progressEventCounter = 0;
|
|
progressEventTimeList = [];
|
|
lastProgressEventTime;
|
|
}, { explicit_timeout: true });
|
|
|
|
var t = async_test("FileReader progress events.")
|
|
|
|
reader.onprogress = t.step_func(function () {
|
|
var newTime = new Date;
|
|
var timeout = newTime - lastProgressEventTime;
|
|
|
|
progressEventTimeList.push(timeout);
|
|
lastProgressEventTime = newTime;
|
|
progressEventCounter++;
|
|
|
|
assert_less_than_equal(timeout, 50, "The progress event should be fired every 50ms.");
|
|
});
|
|
|
|
reader.onload = t.step_func_done(function () {
|
|
assert_greater_than_equal(progressEventCounter, 1,
|
|
"When read completely, the progress event must be fired at least once.")
|
|
});
|
|
|
|
input.onchange = t.step_func(function () {
|
|
var files = input.files;
|
|
|
|
assert_greater_than(files.length, 0);
|
|
var file = files[0];
|
|
|
|
lastProgressEventTime = new Date;
|
|
reader.readAsArrayBuffer(file);
|
|
});
|
|
</script>
|