OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>IDBCursor.continue() - object store - attempt to pass a key parameter is
not a valid key </title> | 2 <meta charset="utf-8"> |
3 <link rel="author" title="Microsoft" href="http://www.microsoft.com"> | 3 <title>IDBCursor.continue() - object store - throw InvalidStateError caused by o
bject store been deleted</title> |
| 4 <link rel="author" title="Intel" href="http://www.intel.com"> |
4 <script src="../../../resources/testharness.js"></script> | 5 <script src="../../../resources/testharness.js"></script> |
5 <script src="../../../resources/testharnessreport.js"></script> | 6 <script src="../../../resources/testharnessreport.js"></script> |
6 <script src="support.js"></script> | 7 <script src="support.js"></script> |
7 | 8 <div id="log"> </div> |
8 <script> | 9 <script> |
9 var db, | 10 var db, |
10 t = async_test(), | 11 t = async_test(), |
11 records = [ { pKey: "primaryKey_0" }, | 12 records = [ { pKey: "primaryKey_0" }, |
12 { pKey: "primaryKey_1" } ]; | 13 { pKey: "primaryKey_1" } ]; |
13 | 14 |
14 var open_rq = createdb(t); | 15 var open_rq = createdb(t); |
15 open_rq.onupgradeneeded = function(e) { | 16 open_rq.onupgradeneeded = function(e) { |
16 db = e.target.result; | 17 db = e.target.result; |
17 var objStore = db.createObjectStore("test", {keyPath:"pKey"}); | 18 var objStore = db.createObjectStore("test", {keyPath:"pKey"}); |
18 | 19 |
19 for (var i = 0; i < records.length; i++) | 20 for (var i = 0; i < records.length; i++) |
20 objStore.add(records[i]); | 21 objStore.add(records[i]); |
21 }; | |
22 | 22 |
23 open_rq.onsuccess = function(e) { | 23 var cursor_rq = objStore.openCursor(); |
24 var cursor_rq = db.transaction("test") | |
25 .objectStore("test") | |
26 .openCursor(); | |
27 | 24 |
28 cursor_rq.onsuccess = t.step_func(function(e) { | 25 cursor_rq.onsuccess = t.step_func(function(e) { |
29 var cursor = e.target.result; | 26 var cursor = e.target.result; |
| 27 assert_true(cursor instanceof IDBCursor, "cursor exists"); |
30 | 28 |
31 assert_true(cursor instanceof IDBCursor, "cursor exists"); | 29 db.deleteObjectStore("test"); |
32 assert_throws("DataError", | 30 assert_throws("InvalidStateError", function() { |
33 function() { cursor.continue(document); }); | 31 cursor.continue(); |
| 32 }, "If the cursor's source or effective object store has been delete
d, the implementation MUST throw a DOMException of type InvalidStateError"); |
34 | 33 |
35 t.done(); | 34 t.done(); |
36 }); | 35 }); |
37 }; | 36 } |
38 </script> | 37 </script> |
39 | |
40 <div id="log"> </div> | |
OLD | NEW |