| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 1 | <!doctype html> | 
 | 2 | <!-- Submitted from TestTWF Paris --> | 
 | 3 | <title>When db.close is called in upgradeneeded, the db is cleaned up on refresh</title> | 
 | 4 | <script src=/resources/testharness.js></script> | 
 | 5 | <script src=/resources/testharnessreport.js></script> | 
 | 6 | <script src=support.js></script> | 
 | 7 |  | 
 | 8 | <script> | 
 | 9 |  | 
| Brett Zamir | 0a7e8d7 | 2017-02-17 18:48:42 | [diff] [blame] | 10 | var db | 
| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 11 | var open_rq = createdb(async_test()) | 
 | 12 | var sawTransactionComplete = false | 
 | 13 |  | 
 | 14 | open_rq.onupgradeneeded = function(e) { | 
 | 15 |  db = e.target.result | 
 | 16 |  assert_equals(db.version, 1) | 
 | 17 |  | 
 | 18 |  db.createObjectStore('os') | 
 | 19 |  db.close() | 
 | 20 |  | 
 | 21 |  e.target.transaction.oncomplete = function() { sawTransactionComplete = true } | 
 | 22 | } | 
 | 23 |  | 
 | 24 | open_rq.onerror = function(e) { | 
 | 25 |  assert_true(sawTransactionComplete, "saw transaction.complete") | 
 | 26 |  | 
 | 27 |  assert_equals(e.target.error.name, 'AbortError') | 
 | 28 |  assert_equals(e.result, undefined) | 
 | 29 |  | 
 | 30 |  assert_true(!!db) | 
 | 31 |  assert_equals(db.version, 1) | 
 | 32 |  assert_equals(db.objectStoreNames.length, 1) | 
| Stephen McGruer | 3696f22 | 2020-01-23 19:11:58 | [diff] [blame^] | 33 |  assert_throws_dom("InvalidStateError", function() { db.transaction('os') }) | 
| Philip Jägenstedt | c053f40 | 2014-01-22 17:02:18 | [diff] [blame] | 34 |  | 
 | 35 |  this.done() | 
 | 36 | } | 
 | 37 |  | 
 | 38 | </script> | 
 | 39 |  | 
 | 40 | <div id=log></div> |