tor-browser

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

close-in-upgradeneeded.any.js (972B)


      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);
     10  let sawTransactionComplete = false;
     11 
     12  open_rq.onupgradeneeded = function(e) {
     13    db = e.target.result;
     14    assert_equals(db.version, 1);
     15 
     16    db.createObjectStore('os');
     17    db.close();
     18 
     19    e.target.transaction.oncomplete = function() {
     20      sawTransactionComplete = true;
     21    };
     22  };
     23 
     24  open_rq.onerror = function(e) {
     25    assert_true(sawTransactionComplete, 'saw transaction.complete');
     26 
     27    assert_equals(e.target.error.name, 'AbortError');
     28    assert_equals(e.result, undefined);
     29 
     30    assert_true(!!db);
     31    assert_equals(db.version, 1);
     32    assert_equals(db.objectStoreNames.length, 1);
     33    assert_throws_dom('InvalidStateError', function() {
     34      db.transaction('os', 'readonly');
     35    });
     36 
     37    t.done();
     38  };
     39 }, 'When db.close() is called in onupgradeneeded, the db is cleaned up on refresh');