idbfactory-open-request-success.any.js (1665B)
1 // META: title=IDBFactory open(): request properties on success 2 // META: global=window,worker 3 // META: script=resources/support.js 4 5 // Spec: https://w3c.github.io/IndexedDB/#dom-idbfactory-open 6 7 'use strict'; 8 9 let saw_complete = false; 10 11 indexeddb_test( 12 (t, db, tx, rq) => { 13 assert_equals( 14 rq.readyState, 'done', 15 'request done flag should be set during upgradeneeded'); 16 assert_equals( 17 rq.result, db, 18 'request result should be set (to connection) during upgradeneeded'); 19 assert_equals( 20 rq.error, null, 'request result should be null during upgradeneeded'); 21 22 tx.onabort = t.unreached_func('transaction should complete'); 23 tx.oncomplete = t.step_func(() => { 24 saw_complete = true; 25 26 assert_equals( 27 rq.readyState, 'done', 28 'request done flag should still be set during complete'); 29 assert_equals( 30 rq.result, db, 31 'request result should still be set (to connection) during complete'); 32 assert_equals( 33 rq.error, null, 34 'request result should still be null during complete'); 35 }); 36 }, 37 (t, db, rq) => { 38 assert_true(saw_complete, 'complete event should fire before success'); 39 assert_equals( 40 rq.readyState, 'done', 'request done flag should be set on success'); 41 assert_equals( 42 rq.result, db, 43 'request result should still be set (to connection) on success'); 44 assert_equals(rq.error, null, 'request error should be null on success'); 45 t.done(); 46 }, 47 'Properties of IDBOpenDBRequest during successful IDBFactory open()');