tor-browser

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

idbtransaction.any.js (2066B)


      1 // META: title=IDBTransaction
      2 // META: global=window,worker
      3 // META: script=resources/support.js
      4 
      5 'use strict';
      6 
      7 async_test(function(t) {
      8  let dbname = 'idbtransaction-' + location + t.name;
      9  indexedDB.deleteDatabase(dbname);
     10  let open_rq = indexedDB.open(dbname);
     11 
     12  open_rq.onblocked = t.unreached_func('open_rq.onblocked');
     13  open_rq.onerror = t.unreached_func('open_rq.onerror');
     14 
     15  open_rq.onupgradeneeded = t.step_func(function(e) {
     16    t.add_cleanup(function() {
     17      open_rq.onerror = function(e) {
     18        e.preventDefault();
     19      };
     20      open_rq.result.close();
     21      indexedDB.deleteDatabase(open_rq.result.name);
     22    });
     23 
     24    assert_equals(
     25        e.target, open_rq, 'e.target is reusing the same IDBOpenDBRequest');
     26    assert_equals(
     27        e.target.transaction, open_rq.transaction,
     28        'IDBOpenDBRequest.transaction');
     29 
     30    assert_true(
     31        e.target.transaction instanceof IDBTransaction,
     32        'transaction instanceof IDBTransaction');
     33    t.done();
     34  });
     35 }, 'IDBTransaction - request gotten by the handler');
     36 
     37 async_test(function(t) {
     38  let dbname = 'idbtransaction-' + location + t.name;
     39  indexedDB.deleteDatabase(dbname);
     40  let open_rq = indexedDB.open(dbname);
     41 
     42  assert_equals(open_rq.transaction, null, 'IDBOpenDBRequest.transaction');
     43  assert_equals(open_rq.source, null, 'IDBOpenDBRequest.source');
     44  assert_equals(open_rq.readyState, 'pending', 'IDBOpenDBRequest.readyState');
     45 
     46  assert_true(
     47      open_rq instanceof IDBOpenDBRequest,
     48      'open_rq instanceof IDBOpenDBRequest');
     49  assert_equals(
     50      open_rq + '', '[object IDBOpenDBRequest]', 'IDBOpenDBRequest (open_rq)');
     51 
     52  open_rq.onblocked = t.unreached_func('open_rq.onblocked');
     53  open_rq.onerror = t.unreached_func('open_rq.onerror');
     54 
     55  open_rq.onupgradeneeded = t.step_func(function() {
     56    t.add_cleanup(function() {
     57      open_rq.onerror = function(e) {
     58        e.preventDefault();
     59      };
     60      open_rq.result.close();
     61      indexedDB.deleteDatabase(open_rq.result.name);
     62    });
     63    t.done();
     64  });
     65 }, 'IDBTransaction - request returned by open()');