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.update() - object store - attempt to modify a record when obje
ct 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> |
| 8 <div id="log"></div> |
| 9 <script> |
7 | 10 |
8 <script> | |
9 var db, | 11 var db, |
10 t = async_test(), | 12 t = async_test(), |
11 records = [ { pKey: "primaryKey_0" }, | 13 records = [ { pKey: "primaryKey_0" }, |
12 { pKey: "primaryKey_1" } ]; | 14 { pKey: "primaryKey_1" } ]; |
13 | 15 |
14 var open_rq = createdb(t); | 16 var open_rq = createdb(t); |
15 open_rq.onupgradeneeded = function(e) { | 17 open_rq.onupgradeneeded = function(e) { |
16 db = e.target.result; | 18 db = e.target.result; |
17 var objStore = db.createObjectStore("test", {keyPath:"pKey"}); | 19 var objStore = db.createObjectStore("test", {keyPath:"pKey"}); |
18 | 20 |
19 for (var i = 0; i < records.length; i++) | 21 for (var i = 0; i < records.length; i++) |
20 objStore.add(records[i]); | 22 objStore.add(records[i]); |
21 }; | |
22 | 23 |
23 open_rq.onsuccess = function(e) { | 24 var cursor_rq = objStore.openCursor(); |
24 var cursor_rq = db.transaction("test") | |
25 .objectStore("test") | |
26 .openCursor(); | |
27 | 25 |
28 cursor_rq.onsuccess = t.step_func(function(e) { | 26 cursor_rq.onsuccess = t.step_func(function(e) { |
29 var cursor = e.target.result; | 27 var cursor = e.target.result; |
| 28 assert_true(cursor instanceof IDBCursor, "cursor exists"); |
30 | 29 |
31 assert_true(cursor instanceof IDBCursor, "cursor exists"); | 30 db.deleteObjectStore("test"); |
32 assert_throws("DataError", | 31 cursor.value += "_updated"; |
33 function() { cursor.continue(document); }); | 32 assert_throws("InvalidStateError", function() { |
| 33 cursor.update(cursor.value); |
| 34 }, "If the cursor's source or effective object store has been delete
d, the implementation MUST throw a DOMException of type InvalidStateError"); |
| 35 |
34 | 36 |
35 t.done(); | 37 t.done(); |
36 }); | 38 }); |
37 }; | 39 } |
| 40 |
38 </script> | 41 </script> |
39 | |
40 <div id="log"> </div> | |
OLD | NEW |