| <!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 db |
| 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> |