зеркало из https://github.com/mozilla/gecko-dev.git
40 строки
1.5 KiB
HTML
40 строки
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>IDBCursor.advance() - index - throw TransactionInactiveError</title>
|
|
<link rel="author" title="Intel" href="http://www.intel.com">
|
|
<link rel="help" href="https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-advance-void-unsigned-long-count">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="support.js"></script>
|
|
<div id="log"></div>
|
|
<script>
|
|
var db,
|
|
t = async_test(),
|
|
records = [{ pKey: "primaryKey_0", iKey: "indexKey_0" },
|
|
{ pKey: "primaryKey_1", iKey: "indexKey_1" }];
|
|
|
|
var open_rq = createdb(t);
|
|
open_rq.onupgradeneeded = function (event) {
|
|
db = event.target.result;
|
|
var objStore = db.createObjectStore("store", {keyPath : "pKey"});
|
|
objStore.createIndex("index", "iKey");
|
|
for (var i = 0; i < records.length; i++) {
|
|
objStore.add(records[i]);
|
|
}
|
|
var rq = objStore.index("index").openCursor();
|
|
rq.onsuccess = t.step_func(function(event) {
|
|
var cursor = event.target.result;
|
|
assert_true(cursor instanceof IDBCursor);
|
|
|
|
event.target.transaction.abort();
|
|
assert_throws("TransactionInactiveError", function() {
|
|
cursor.advance(1);
|
|
}, "Calling advance() should throws an exception TransactionInactiveError when the transaction is not active.");
|
|
|
|
t.done();
|
|
});
|
|
}
|
|
|
|
</script>
|
|
|