idbtransaction-oncomplete.any.js (984B)
1 // META: title=IDBTransaction - complete event 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 store; 10 let open_rq = createdb(t); 11 let stages = []; 12 13 open_rq.onupgradeneeded = function(e) { 14 stages.push('upgradeneeded'); 15 16 db = e.target.result; 17 store = db.createObjectStore('store'); 18 19 e.target.transaction.oncomplete = function() { 20 stages.push('complete'); 21 }; 22 }; 23 24 open_rq.onsuccess = function(e) { 25 stages.push('success'); 26 27 let tx = db.transaction('store', 'readonly'); 28 store = tx.objectStore('store'); 29 store.openCursor().onsuccess = 30 function(e) { 31 stages.push('opencursor'); 32 } 33 34 db.transaction('store', 'readonly') 35 .objectStore('store') 36 .count() 37 .onsuccess = t.step_func(function(e) { 38 assert_array_equals(stages, [ 39 'upgradeneeded', 'complete', 'success', 'opencursor' 40 ]); 41 t.done(); 42 }); 43 } 44 });