| // 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(); |
| }); |
| } |
| }); |