| 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 |