more WPTs
This commit is contained in:
parent
b814697fc9
commit
f9df95ded5
@ -0,0 +1,63 @@
|
|||||||
|
import test from "ava";
|
||||||
|
import { createdb, idbFactory } from "./wptsupport";
|
||||||
|
|
||||||
|
test("WPT idbfactory-cmp*.html", async (t) => {
|
||||||
|
const indexedDB = idbFactory;
|
||||||
|
var greater = indexedDB.cmp(2, 1);
|
||||||
|
var equal = indexedDB.cmp(2, 2);
|
||||||
|
var less = indexedDB.cmp(1, 2);
|
||||||
|
|
||||||
|
t.deepEqual(greater, 1, "greater");
|
||||||
|
t.deepEqual(equal, 0, "equal");
|
||||||
|
t.deepEqual(less, -1, "less");
|
||||||
|
|
||||||
|
t.throws(
|
||||||
|
() => {
|
||||||
|
// @ts-expect-error
|
||||||
|
indexedDB.cmp();
|
||||||
|
},
|
||||||
|
{ instanceOf: TypeError },
|
||||||
|
);
|
||||||
|
|
||||||
|
t.throws(
|
||||||
|
() => {
|
||||||
|
indexedDB.cmp(null, null);
|
||||||
|
},
|
||||||
|
{ name: "DataError" },
|
||||||
|
);
|
||||||
|
|
||||||
|
t.throws(
|
||||||
|
() => {
|
||||||
|
indexedDB.cmp(1, null);
|
||||||
|
},
|
||||||
|
{ name: "DataError" },
|
||||||
|
);
|
||||||
|
|
||||||
|
t.throws(
|
||||||
|
() => {
|
||||||
|
indexedDB.cmp(null, 1);
|
||||||
|
},
|
||||||
|
{ name: "DataError" },
|
||||||
|
);
|
||||||
|
|
||||||
|
t.throws(
|
||||||
|
() => {
|
||||||
|
indexedDB.cmp(NaN, NaN);
|
||||||
|
},
|
||||||
|
{ name: "DataError" },
|
||||||
|
);
|
||||||
|
|
||||||
|
t.throws(
|
||||||
|
() => {
|
||||||
|
indexedDB.cmp(1, NaN);
|
||||||
|
},
|
||||||
|
{ name: "DataError" },
|
||||||
|
);
|
||||||
|
|
||||||
|
t.throws(
|
||||||
|
() => {
|
||||||
|
indexedDB.cmp(NaN, 1);
|
||||||
|
},
|
||||||
|
{ name: "DataError" },
|
||||||
|
);
|
||||||
|
});
|
@ -0,0 +1,76 @@
|
|||||||
|
import test from "ava";
|
||||||
|
import { createdb, idbFactory } from "./wptsupport";
|
||||||
|
|
||||||
|
// IDBFactory.open() - request has no source
|
||||||
|
test("WPT idbfactory-open.htm", async (t) => {
|
||||||
|
await new Promise<void>((resolve, reject) => {
|
||||||
|
var open_rq = createdb(t, undefined, 9);
|
||||||
|
|
||||||
|
open_rq.onupgradeneeded = function (e) {};
|
||||||
|
open_rq.onsuccess = function (e: any) {
|
||||||
|
t.deepEqual(e.target.source, null, "source");
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
t.pass();
|
||||||
|
});
|
||||||
|
|
||||||
|
// IDBFactory.open() - database 'name' and 'version' are correctly set
|
||||||
|
test("WPT idbfactory-open2.htm", async (t) => {
|
||||||
|
await new Promise<void>((resolve, reject) => {
|
||||||
|
var database_name = __filename + "-database_name";
|
||||||
|
var open_rq = createdb(t, database_name, 13);
|
||||||
|
|
||||||
|
open_rq.onupgradeneeded = function (e) {};
|
||||||
|
open_rq.onsuccess = function (e: any) {
|
||||||
|
var db = e.target.result;
|
||||||
|
t.deepEqual(db.name, database_name, "db.name");
|
||||||
|
t.deepEqual(db.version, 13, "db.version");
|
||||||
|
resolve;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
t.pass();
|
||||||
|
});
|
||||||
|
|
||||||
|
// IDBFactory.open() - no version opens current database
|
||||||
|
test("WPT idbfactory-open3.htm", async (t) => {
|
||||||
|
const indexedDB = idbFactory;
|
||||||
|
await new Promise<void>((resolve, reject) => {
|
||||||
|
var open_rq = createdb(t, undefined, 13);
|
||||||
|
var did_upgrade = false;
|
||||||
|
|
||||||
|
open_rq.onupgradeneeded = function () {};
|
||||||
|
open_rq.onsuccess = function (e: any) {
|
||||||
|
var db = e.target.result;
|
||||||
|
db.close();
|
||||||
|
|
||||||
|
var open_rq2 = indexedDB.open(db.name);
|
||||||
|
open_rq2.onsuccess = function (e: any) {
|
||||||
|
t.deepEqual(e.target.result.version, 13, "db.version");
|
||||||
|
e.target.result.close();
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
open_rq2.onupgradeneeded = () => t.fail("Unexpected upgradeneeded");
|
||||||
|
open_rq2.onerror = () => t.fail("Unexpected error");
|
||||||
|
};
|
||||||
|
});
|
||||||
|
t.pass();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// IDBFactory.open() - new database has default version
|
||||||
|
test("WPT idbfactory-open4.htm", async (t) => {
|
||||||
|
const indexedDB = idbFactory;
|
||||||
|
await new Promise<void>((resolve, reject) => {
|
||||||
|
var open_rq = createdb(t, __filename + '-database_name');
|
||||||
|
|
||||||
|
open_rq.onupgradeneeded = function(e: any) {
|
||||||
|
t.deepEqual(e.target.result.version, 1, "db.version");
|
||||||
|
};
|
||||||
|
open_rq.onsuccess = function(e: any) {
|
||||||
|
t.deepEqual(e.target.result.version, 1, "db.version");
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
t.pass();
|
||||||
|
});
|
@ -15,7 +15,7 @@ import { compareKeys } from "../util/cmp";
|
|||||||
BridgeIDBFactory.enableTracing = true;
|
BridgeIDBFactory.enableTracing = true;
|
||||||
const backend = new MemoryBackend();
|
const backend = new MemoryBackend();
|
||||||
backend.enableTracing = true;
|
backend.enableTracing = true;
|
||||||
const idbFactory = new BridgeIDBFactory(backend);
|
export const idbFactory = new BridgeIDBFactory(backend);
|
||||||
|
|
||||||
const self = {
|
const self = {
|
||||||
indexedDB: idbFactory,
|
indexedDB: idbFactory,
|
||||||
|
Loading…
Reference in New Issue
Block a user