OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>IDBCursor.update() - index - attempt to modify a record in a read-only tr
ansaction</title> | 2 <title>IDBCursor.update() - object store - throw DataCloneError</title> |
3 <link rel="author" title="Microsoft" href="http://www.microsoft.com"> | 3 <link rel="author" title="Intel" href="http://www.intel.com"> |
| 4 <link rel="help" href="https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.ht
ml#widl-IDBCursor-update-IDBRequest-any-value"> |
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", iKey: "indexKey_0" }, | 12 records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" }, |
12 { pKey: "primaryKey_1", iKey: "indexKey_1" } ]; | 13 { pKey: "primaryKey_1", iKey: "indexKey_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 | 18 |
18 var objStore = db.createObjectStore("test", { keyPath: "pKey" }); | 19 var objStore = db.createObjectStore("test", { keyPath: "pKey" }); |
19 objStore.createIndex("index", "iKey"); | |
20 | 20 |
21 for (var i = 0; i < records.length; i++) | 21 for (var i = 0; i < records.length; i++) |
22 objStore.add(records[i]); | 22 objStore.add(records[i]); |
23 }; | 23 }; |
24 | 24 |
25 open_rq.onsuccess = function(e) { | 25 open_rq.onsuccess = function(e) { |
26 var cursor_rq = db.transaction("test") | 26 var cursor_rq = db.transaction("test", "readwrite") |
27 .objectStore("test") | 27 .objectStore("test") |
28 .index("index") | |
29 .openCursor(); | 28 .openCursor(); |
30 | 29 |
31 cursor_rq.onsuccess = t.step_func(function(e) { | 30 cursor_rq.onsuccess = t.step_func(function(e) { |
32 var cursor = e.target.result; | 31 var cursor = e.target.result; |
33 assert_throws('ReadOnlyError', function() { cursor.update(cursor.val
ue); }); | 32 assert_true(cursor instanceof IDBCursor); |
| 33 |
| 34 var record = cursor.value; |
| 35 record.data = document; |
| 36 assert_throws('DataCloneError', function() { |
| 37 cursor.update(record); |
| 38 }); |
34 t.done(); | 39 t.done(); |
35 }); | 40 }); |
36 } | 41 } |
37 | |
38 </script> | 42 </script> |
39 | 43 |
40 <div id="log"></div> | |
OLD | NEW |