Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / imported / web-platform-tests / IndexedDB / idbdatabase_deleteObjectStore4-not_reused.htm
1 <!DOCTYPE html>
2 <meta charset=utf-8>
3 <title>IDBDatabase.deleteObjectStore() - the object store is not reused</title>
4 <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
5 <script src=../../../resources/testharness.js></script>
6 <script src=../../../resources/testharnessreport.js></script>
7 <script src=support.js></script>
8
9 <script>
10
11 var t = async_test(document.title, {timeout: 10000}),
12     keys = [],
13     open_rq = createdb(t)
14
15 open_rq.onupgradeneeded = function(e) {
16     var db = e.target.result
17
18     var objStore = db.createObjectStore("resurrected", { autoIncrement: true, keyPath: "k" });
19     objStore.add({k:5}).onsuccess = function(e) { keys.push(e.target.result); }
20     objStore.add({}).onsuccess = function(e) { keys.push(e.target.result); }
21     objStore.createIndex("idx", "i");
22     assert_true(objStore.indexNames.contains("idx"));
23     assert_equals(objStore.keyPath, "k", "keyPath");
24
25     db.deleteObjectStore("resurrected");
26
27     var objStore2 = db.createObjectStore("resurrected", { autoIncrement: true });
28     objStore2.add("Unicorns'R'us").onsuccess = function(e) { keys.push(e.target.result); };
29     assert_false(objStore2.indexNames.contains("idx"), "index exist on new objstore");
30     assert_equals(objStore2.keyPath, null, "keyPath");
31
32     assert_throws("NotFoundError", function() { objStore2.index("idx"); });
33 }
34
35 open_rq.onsuccess = function(e) {
36     assert_object_equals(keys, [5, 6, 1], "keys");
37     t.done();
38 }
39
40 </script>
41
42 <div id="log"></div>