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