mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
// META: title=FileReader States
|
|
|
|
'use strict';
|
|
|
|
test(function () {
|
|
assert_true(
|
|
"FileReader" in globalThis,
|
|
"globalThis should have a FileReader property.",
|
|
);
|
|
}, "FileReader interface object");
|
|
|
|
test(function () {
|
|
var fileReader = new FileReader();
|
|
assert_true(fileReader instanceof FileReader);
|
|
}, "no-argument FileReader constructor");
|
|
|
|
var t_abort = async_test("FileReader States -- abort");
|
|
t_abort.step(function () {
|
|
var fileReader = new FileReader();
|
|
assert_equals(fileReader.readyState, 0);
|
|
assert_equals(fileReader.readyState, FileReader.EMPTY);
|
|
|
|
var blob = new Blob();
|
|
fileReader.readAsArrayBuffer(blob);
|
|
assert_equals(fileReader.readyState, 1);
|
|
assert_equals(fileReader.readyState, FileReader.LOADING);
|
|
|
|
fileReader.onabort = this.step_func(function (e) {
|
|
assert_equals(fileReader.readyState, 2);
|
|
assert_equals(fileReader.readyState, FileReader.DONE);
|
|
t_abort.done();
|
|
});
|
|
fileReader.abort();
|
|
fileReader.onabort = this.unreached_func("abort event should fire sync");
|
|
});
|
|
|
|
var t_event = async_test("FileReader States -- events");
|
|
t_event.step(function () {
|
|
var fileReader = new FileReader();
|
|
|
|
var blob = new Blob();
|
|
fileReader.readAsArrayBuffer(blob);
|
|
|
|
fileReader.onloadstart = this.step_func(function (e) {
|
|
assert_equals(fileReader.readyState, 1);
|
|
assert_equals(fileReader.readyState, FileReader.LOADING);
|
|
});
|
|
|
|
fileReader.onprogress = this.step_func(function (e) {
|
|
assert_equals(fileReader.readyState, 1);
|
|
assert_equals(fileReader.readyState, FileReader.LOADING);
|
|
});
|
|
|
|
fileReader.onloadend = this.step_func(function (e) {
|
|
assert_equals(fileReader.readyState, 2);
|
|
assert_equals(fileReader.readyState, FileReader.DONE);
|
|
t_event.done();
|
|
});
|
|
});
|