fix: harden mobile indexeddb persistence path

This commit is contained in:
Youzini-afk
2026-04-15 15:14:17 +08:00
parent 1d0718670d
commit 2ba374f4fb
3 changed files with 72 additions and 1 deletions

37
tests/dexie-loader.mjs Normal file
View File

@@ -0,0 +1,37 @@
import assert from "node:assert/strict";
import { ensureDexieLoaded } from "../sync/bme-db.js";
const previousDocument = globalThis.document;
const previousDexie = globalThis.Dexie;
const previousLoadPromise = globalThis.__stBmeDexieLoadPromise;
try {
globalThis.document = {};
delete globalThis.Dexie;
delete globalThis.__stBmeDexieLoadPromise;
const DexieCtor = await ensureDexieLoaded();
assert.equal(typeof DexieCtor, "function");
assert.equal(globalThis.Dexie, DexieCtor);
} finally {
if (previousDocument === undefined) {
delete globalThis.document;
} else {
globalThis.document = previousDocument;
}
if (previousDexie === undefined) {
delete globalThis.Dexie;
} else {
globalThis.Dexie = previousDexie;
}
if (previousLoadPromise === undefined) {
delete globalThis.__stBmeDexieLoadPromise;
} else {
globalThis.__stBmeDexieLoadPromise = previousLoadPromise;
}
}
console.log("dexie-loader tests passed");