tor-browser

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

abort-in-initial-upgradeneeded.any.js (1027B)


      1 // META: title=IndexedDB
      2 // META: global=window,worker
      3 // META: script=resources/support.js
      4 
      5 'use strict';
      6 
      7 async_test(t => {
      8  let db;
      9  let open_rq = createdb(t, undefined, 2);
     10 
     11  open_rq.onupgradeneeded = function(e) {
     12    db = e.target.result;
     13    assert_equals(db.version, 2);
     14    let transaction = e.target.transaction;
     15    transaction.oncomplete = fail(t, 'unexpected transaction.complete');
     16    transaction.onabort = function(e) {
     17      assert_equals(e.target.db.version, 0);
     18    };
     19    db.onabort = function() {};
     20 
     21    transaction.abort();
     22  };
     23 
     24  open_rq.onerror = function(e) {
     25    assert_equals(open_rq, e.target);
     26    assert_equals(e.target.result, undefined);
     27    assert_equals(e.target.error.name, 'AbortError');
     28    assert_equals(db.version, 0);
     29    assert_equals(open_rq.transaction, null);
     30 
     31    indexedDB.databases().then(dbs => {
     32      // The database should be deleted.
     33      assert_equals(dbs.length, 0);
     34      t.done();
     35    });
     36  };
     37 }, 'An abort() in the initial onupgradeneeded sets version back to 0');