| <!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(), |
| 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> |