diff options
Diffstat (limited to 'testing/web-platform/tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm')
-rw-r--r-- | testing/web-platform/tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/web-platform/tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm b/testing/web-platform/tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm new file mode 100644 index 000000000..1cb6ff1ac --- /dev/null +++ b/testing/web-platform/tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>IDBDatabase.deleteObjectStore() - the object store is not reused</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 t = async_test(document.title, {timeout: 10000}), + keys = [], + open_rq = createdb(t) + +open_rq.onupgradeneeded = function(e) { + var db = e.target.result + + var objStore = db.createObjectStore("resurrected", { autoIncrement: true, keyPath: "k" }); + objStore.add({k:5}).onsuccess = function(e) { keys.push(e.target.result); } + objStore.add({}).onsuccess = function(e) { keys.push(e.target.result); } + objStore.createIndex("idx", "i"); + assert_true(objStore.indexNames.contains("idx")); + assert_equals(objStore.keyPath, "k", "keyPath"); + + db.deleteObjectStore("resurrected"); + + var objStore2 = db.createObjectStore("resurrected", { autoIncrement: true }); + objStore2.add("Unicorns'R'us").onsuccess = function(e) { keys.push(e.target.result); }; + assert_false(objStore2.indexNames.contains("idx"), "index exist on new objstore"); + assert_equals(objStore2.keyPath, null, "keyPath"); + + assert_throws("NotFoundError", function() { objStore2.index("idx"); }); +} + +open_rq.onsuccess = function(e) { + assert_array_equals(keys, [5, 6, 1], "keys"); + t.done(); +} + +</script> + +<div id="log"></div> |