<!DOCTYPE html> <title>IDBTransaction - complete event</title> <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="support.js"></script> <script> var db, store, t = async_test(document.title, {timeout: 10000}), open_rq = createdb(t), 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"); // Making a totally new transaction to check db.transaction('store').objectStore('store').count().onsuccess = t.step_func(function(e) { assert_array_equals(stages, [ "upgradeneeded", "complete", "success" ]); t.done(); }); // XXX: Make one with real transactions, not only open() versionchange one /*db.transaction.objectStore('store').openCursor().onsuccess = function(e) { stages.push("opencursor1"); } store.openCursor().onsuccess = function(e) { stages.push("opencursor2"); } e.target.transaction.objectStore('store').openCursor().onsuccess = function(e) { stages.push("opencursor3"); } */ } </script> <div id="log"></div>