44 lines
984 B
JavaScript
44 lines
984 B
JavaScript
// META: title=IDBTransaction - complete event
|
|
// META: global=window,worker
|
|
// META: script=resources/support.js
|
|
|
|
'use strict';
|
|
|
|
async_test(t => {
|
|
let db;
|
|
let store;
|
|
let open_rq = createdb(t);
|
|
let stages = [];
|
|
|
|
open_rq.onupgradeneeded = function(e) {
|
|
stages.push('upgradeneeded');
|
|
|
|
db = e.target.result;
|
|
store = db.createObjectStore('store');
|
|
|
|
e.target.transaction.oncomplete = function() {
|
|
stages.push('complete');
|
|
};
|
|
};
|
|
|
|
open_rq.onsuccess = function(e) {
|
|
stages.push('success');
|
|
|
|
let tx = db.transaction('store', 'readonly');
|
|
store = tx.objectStore('store');
|
|
store.openCursor().onsuccess =
|
|
function(e) {
|
|
stages.push('opencursor');
|
|
}
|
|
|
|
db.transaction('store', 'readonly')
|
|
.objectStore('store')
|
|
.count()
|
|
.onsuccess = t.step_func(function(e) {
|
|
assert_array_equals(stages, [
|
|
'upgradeneeded', 'complete', 'success', 'opencursor'
|
|
]);
|
|
t.done();
|
|
});
|
|
}
|
|
});
|