| <!doctype html> | |
| <!-- Submitted from TestTWF Paris --> | |
| <title>When db.close is called in upgradeneeded, the db is cleaned up on refresh</title> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <script src=support.js></script> | |
| <script> | |
| var open_rq = createdb(async_test()) | |
| var sawTransactionComplete = false | |
| open_rq.onupgradeneeded = function(e) { | |
| db = e.target.result | |
| assert_equals(db.version, 1) | |
| db.createObjectStore('os') | |
| db.close() | |
| e.target.transaction.oncomplete = function() { sawTransactionComplete = true } | |
| } | |
| open_rq.onerror = function(e) { | |
| assert_true(sawTransactionComplete, "saw transaction.complete") | |
| assert_equals(e.target.error.name, 'AbortError') | |
| assert_equals(e.result, undefined) | |
| assert_true(!!db) | |
| assert_equals(db.version, 1) | |
| assert_equals(db.objectStoreNames.length, 1) | |
| assert_throws("InvalidStateError", function() { db.transaction('os') }) | |
| this.done() | |
| } | |
| </script> | |
| <div id=log></div> |