summaryrefslogtreecommitdiff
path: root/packages/idb-bridge/src/idb-wpt-ported/idbindex-openCursor.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/idb-bridge/src/idb-wpt-ported/idbindex-openCursor.test.ts')
-rw-r--r--packages/idb-bridge/src/idb-wpt-ported/idbindex-openCursor.test.ts127
1 files changed, 66 insertions, 61 deletions
diff --git a/packages/idb-bridge/src/idb-wpt-ported/idbindex-openCursor.test.ts b/packages/idb-bridge/src/idb-wpt-ported/idbindex-openCursor.test.ts
index f4515b69e..5d61e68e5 100644
--- a/packages/idb-bridge/src/idb-wpt-ported/idbindex-openCursor.test.ts
+++ b/packages/idb-bridge/src/idb-wpt-ported/idbindex-openCursor.test.ts
@@ -1,82 +1,87 @@
import test from "ava";
-import { BridgeIDBCursor } from "..";
-import { BridgeIDBCursorWithValue } from "../bridge-idb";
-import { IDBDatabase } from "../idbtypes";
-import { createdb } from "./wptsupport";
+import { createdb, initTestIndexedDB } from "./wptsupport.js";
+
+test.before("test DB initialization", initTestIndexedDB);
// IDBIndex.openCursor() - throw InvalidStateError when the index is deleted
-test.cb("WPT test idbindex-openCursor.htm", (t) => {
- var db;
+test("WPT test idbindex-openCursor.htm", (t) => {
+ return new Promise((resolve, reject) => {
+ var db;
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function (e: any) {
- db = e.target.result;
- var store = db.createObjectStore("store", { keyPath: "key" });
- var index = store.createIndex("index", "indexedProperty");
+ var open_rq = createdb(t);
+ open_rq.onupgradeneeded = function (e: any) {
+ db = e.target.result;
+ var store = db.createObjectStore("store", { keyPath: "key" });
+ var index = store.createIndex("index", "indexedProperty");
- store.add({ key: 1, indexedProperty: "data" });
- store.deleteIndex("index");
+ store.add({ key: 1, indexedProperty: "data" });
+ store.deleteIndex("index");
- t.throws(
- () => {
- index.openCursor();
- },
- { name: "InvalidStateError" },
- );
+ t.throws(
+ () => {
+ index.openCursor();
+ },
+ { name: "InvalidStateError" },
+ );
- t.end();
- };
+ resolve();
+ };
+ });
});
// IDBIndex.openCursor() - throw TransactionInactiveError on aborted transaction
-test.cb("WPT test idbindex-openCursor2.htm", (t) => {
- var db;
+test("WPT test idbindex-openCursor2.htm", (t) => {
+ return new Promise((resolve, reject) => {
+ var db;
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function (e: any) {
- db = e.target.result;
- var store = db.createObjectStore("store", { keyPath: "key" });
- var index = store.createIndex("index", "indexedProperty");
- store.add({ key: 1, indexedProperty: "data" });
- };
- open_rq.onsuccess = function (e: any) {
- db = e.target.result;
- var tx = db.transaction("store");
- var index = tx.objectStore("store").index("index");
- tx.abort();
+ var open_rq = createdb(t);
+ open_rq.onupgradeneeded = function (e: any) {
+ db = e.target.result;
+ var store = db.createObjectStore("store", { keyPath: "key" });
+ var index = store.createIndex("index", "indexedProperty");
+ store.add({ key: 1, indexedProperty: "data" });
+ };
+ open_rq.onsuccess = function (e: any) {
+ db = e.target.result;
+ var tx = db.transaction("store");
+ var index = tx.objectStore("store").index("index");
+ tx.abort();
- t.throws(
- () => {
- index.openCursor();
- },
- { name: "TransactionInactiveError" },
- );
+ t.throws(
+ () => {
+ index.openCursor();
+ },
+ { name: "TransactionInactiveError" },
+ );
- t.end();
- };
+ resolve();
+ };
+ });
});
// IDBIndex.openCursor() - throw InvalidStateError on index deleted by aborted upgrade
-test.cb("WPT test idbindex-openCursor3.htm", (t) => {
- var db;
+test("WPT test idbindex-openCursor3.htm", (t) => {
+ return new Promise((resolve, reject) => {
+ var db;
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function (e: any) {
- db = e.target.result;
- var store = db.createObjectStore("store", { keyPath: "key" });
- var index = store.createIndex("index", "indexedProperty");
- store.add({ key: 1, indexedProperty: "data" });
+ var open_rq = createdb(t);
+ open_rq.onupgradeneeded = function (e: any) {
+ db = e.target.result;
+ var store = db.createObjectStore("store", { keyPath: "key" });
+ var index = store.createIndex("index", "indexedProperty");
+ store.add({ key: 1, indexedProperty: "data" });
- e.target.transaction.abort();
+ e.target.transaction.abort();
- t.throws(
- () => {
- console.log("index before openCursor", index);
- index.openCursor();
- },
- { name: "InvalidStateError" },
- );
+ t.throws(
+ () => {
+ console.log("index before openCursor", index);
+ index.openCursor();
+ },
+ { name: "InvalidStateError" },
+ );
- t.end();
- };
+ resolve();
+ };
+ });
});