OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
3 <title>IDBCursor.advance() - index - throw InvalidStateError</title> | 3 <title>IDBCursor.advance() - index - throw InvalidStateError caused by object st
ore been deleted</title> |
4 <link rel="author" title="Intel" href="http://www.intel.com"> | 4 <link rel="author" title="Intel" href="http://www.intel.com"> |
5 <link rel="help" href="https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.ht
ml#widl-IDBCursor-advance-void-unsigned-long-count"> | |
6 <script src="../../../resources/testharness.js"></script> | 5 <script src="../../../resources/testharness.js"></script> |
7 <script src="../../../resources/testharnessreport.js"></script> | 6 <script src="../../../resources/testharnessreport.js"></script> |
8 <script src="support.js"></script> | 7 <script src="support.js"></script> |
9 <div id="log"></div> | 8 <div id="log"></div> |
10 <script> | 9 <script> |
11 var db, | 10 var db, |
12 t = async_test(), | 11 t = async_test(), |
13 records = [{ pKey: "primaryKey_0", iKey: "indexKey_0" }, | 12 records = [{ pKey: "primaryKey_0", iKey: "indexKey_0" }, |
14 { pKey: "primaryKey_1", iKey: "indexKey_1" }]; | 13 { pKey: "primaryKey_1", iKey: "indexKey_1" }]; |
15 | 14 |
16 var open_rq = createdb(t); | 15 var open_rq = createdb(t); |
17 open_rq.onupgradeneeded = function (event) { | 16 open_rq.onupgradeneeded = function (event) { |
18 db = event.target.result; | 17 db = event.target.result; |
19 var objStore = db.createObjectStore("store", {keyPath : "pKey"}); | 18 var objStore = db.createObjectStore("store", {keyPath : "pKey"}); |
20 objStore.createIndex("index", "iKey"); | 19 objStore.createIndex("index", "iKey"); |
21 for (var i = 0; i < records.length; i++) { | 20 for (var i = 0; i < records.length; i++) { |
22 objStore.add(records[i]); | 21 objStore.add(records[i]); |
23 } | 22 } |
24 var rq = objStore.index("index").openCursor(); | 23 var rq = objStore.index("index").openCursor(); |
25 rq.onsuccess = t.step_func(function(event) { | 24 rq.onsuccess = t.step_func(function(event) { |
26 var cursor = event.target.result; | 25 var cursor = event.target.result; |
27 assert_true(cursor instanceof IDBCursor); | 26 assert_true(cursor instanceof IDBCursor, "cursor exist"); |
28 | 27 |
29 cursor.advance(1); | 28 db.deleteObjectStore("store"); |
30 assert_throws("InvalidStateError", function() { | 29 assert_throws("InvalidStateError", function() { |
31 cursor.advance(1); | 30 cursor.advance(1); |
32 }, "Calling advance() should throw DOMException when the cursor is c
urrently being iterated."); | 31 }, "If the cursor's source or effective object store has been delete
d, the implementation MUST throw a DOMException of type InvalidStateError"); |
33 | 32 |
34 t.done(); | 33 t.done(); |
35 }); | 34 }); |
36 } | 35 } |
37 </script> | 36 </script> |
38 | 37 |
OLD | NEW |