tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

fileReader.any.js (1748B)


      1 // META: title=FileReader States
      2 
      3 'use strict';
      4 
      5 test(function () {
      6  assert_true(
      7    "FileReader" in globalThis,
      8    "globalThis should have a FileReader property.",
      9  );
     10 }, "FileReader interface object");
     11 
     12 test(function () {
     13  var fileReader = new FileReader();
     14  assert_true(fileReader instanceof FileReader);
     15 }, "no-argument FileReader constructor");
     16 
     17 var t_abort = async_test("FileReader States -- abort");
     18 t_abort.step(function () {
     19  var fileReader = new FileReader();
     20  assert_equals(fileReader.readyState, 0);
     21  assert_equals(fileReader.readyState, FileReader.EMPTY);
     22 
     23  var blob = new Blob();
     24  fileReader.readAsArrayBuffer(blob);
     25  assert_equals(fileReader.readyState, 1);
     26  assert_equals(fileReader.readyState, FileReader.LOADING);
     27 
     28  fileReader.onabort = this.step_func(function (e) {
     29    assert_equals(fileReader.readyState, 2);
     30    assert_equals(fileReader.readyState, FileReader.DONE);
     31    t_abort.done();
     32  });
     33  fileReader.abort();
     34  fileReader.onabort = this.unreached_func("abort event should fire sync");
     35 });
     36 
     37 var t_event = async_test("FileReader States -- events");
     38 t_event.step(function () {
     39  var fileReader = new FileReader();
     40 
     41  var blob = new Blob();
     42  fileReader.readAsArrayBuffer(blob);
     43 
     44  fileReader.onloadstart = this.step_func(function (e) {
     45    assert_equals(fileReader.readyState, 1);
     46    assert_equals(fileReader.readyState, FileReader.LOADING);
     47  });
     48 
     49  fileReader.onprogress = this.step_func(function (e) {
     50    assert_equals(fileReader.readyState, 1);
     51    assert_equals(fileReader.readyState, FileReader.LOADING);
     52  });
     53 
     54  fileReader.onloadend = this.step_func(function (e) {
     55    assert_equals(fileReader.readyState, 2);
     56    assert_equals(fileReader.readyState, FileReader.DONE);
     57    t_event.done();
     58  });
     59 });