Index: LayoutTests/imported/web-platform-tests/IndexedDB/close-in-upgradeneeded.html |
diff --git a/LayoutTests/imported/web-platform-tests/IndexedDB/close-in-upgradeneeded.html b/LayoutTests/imported/web-platform-tests/IndexedDB/close-in-upgradeneeded.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..401166037748b57493afea7efc66a79a4ef4fa00 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/IndexedDB/close-in-upgradeneeded.html |
@@ -0,0 +1,39 @@ |
+<!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> |