diff --git a/package.json b/package.json index 02cd5e7..29b8625 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "build": "npm run build:types && npm run test", "build:types": "tsc --allowJs --checkJs --declaration --emitDeclarationOnly --stripInternal --outDir types --target es2022 --lib es2024 --module nodenext --moduleResolution nodenext src/*.js", "coverage": "mkdir -p ./coverage; c8 report --reporter=text-lcov > ./coverage/lcov.info", - "test": "c8 node -e 'let q=Promise.resolve();for(const t of require(`./package.json`).tests)q=q.then(()=>import(`./test/${t}.js`));'" + "test": "c8 node --localstorage-file './test/.storage' -e 'let q=Promise.resolve();for(const t of require(`./package.json`).tests)q=q.then(()=>import(`./test/${t}.js`));'" }, "files": [ "src", diff --git a/test/.storage b/test/.storage new file mode 100644 index 0000000..7087ef3 Binary files /dev/null and b/test/.storage differ diff --git a/test/json-storage.js b/test/json-storage.js index b871610..584b6e4 100644 --- a/test/json-storage.js +++ b/test/json-storage.js @@ -15,7 +15,7 @@ class Storage extends Map { const { default: JSONStorage } = await import('../src/json-storage.js'); function test(type) { - // setup + // setup - if flag is not passed to store data const global = type === JSONStorage.LOCAL ? 'localStorage' : 'sessionStorage'; const unknown = !globalThis[global]; if (unknown) { @@ -36,16 +36,14 @@ function test(type) { console.assert(storage.delete('foo'), 'storage.delete("foo")'); console.assert(!storage.has('foo'), 'storage.has("foo")'); console.assert(storage.getOrInsertComputed('foo', () => 'baz') === 'baz', 'storage.getOrInsertComputed("foo", () => "baz") === "baz"'); - if (type === JSONStorage.SESSION && !globalThis.localStorage) { - console.assert([...storage].join(',') === 'foo,baz', '[...storage].join(",") === "foo,baz"'); - console.assert([...storage.entries()].join(',') === 'foo,baz', '[...storage.entries()].join(",") === "foo,baz"'); - console.assert([...storage.keys()].join(',') === 'foo', '[...storage.keys()].join(",") === "foo"'); - console.assert([...storage.values()].join(',') === 'baz', '[...storage.values()].join(",") === "baz"'); - } + console.assert([...storage].join(',') === 'foo,baz', '[...storage].join(",") === "foo,baz"'); + console.assert([...storage.entries()].join(',') === 'foo,baz', '[...storage.entries()].join(",") === "foo,baz"'); + console.assert([...storage.keys()].join(',') === 'foo', '[...storage.keys()].join(",") === "foo"'); + console.assert([...storage.values()].join(',') === 'baz', '[...storage.values()].join(",") === "baz"'); storage.clear(); console.assert([...storage].length === 0, '[...storage].length === 0'); - // teardown + // teardown - if flag is not passed to store data if (unknown) { delete globalThis[global]; Object.keys = keys;