Merge pull request 'test(web): silence localStorage-file warnings in vitest' (#428) from fix/web-test-warnings-2 into develop
Reviewed-on: #428
This commit was merged in pull request #428.
This commit is contained in:
@@ -24,3 +24,33 @@ Object.defineProperty(window, "matchMedia", {
|
||||
dispatchEvent: () => false,
|
||||
}),
|
||||
});
|
||||
|
||||
// Ensure localStorage exists with a full Storage API for tests.
|
||||
// Avoid touching the built-in accessor (which emits warnings in Node).
|
||||
let storageStore: Record<string, string> = {};
|
||||
const storageMock: Storage = {
|
||||
getItem: (key: string): string | null => storageStore[key] ?? null,
|
||||
setItem: (key: string, value: string): void => {
|
||||
storageStore[key] = value;
|
||||
},
|
||||
removeItem: (key: string): void => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
||||
delete storageStore[key];
|
||||
},
|
||||
clear: (): void => {
|
||||
storageStore = {};
|
||||
},
|
||||
get length(): number {
|
||||
return Object.keys(storageStore).length;
|
||||
},
|
||||
key: (index: number): string | null => {
|
||||
const keys = Object.keys(storageStore);
|
||||
return keys[index] ?? null;
|
||||
},
|
||||
};
|
||||
|
||||
Object.defineProperty(window, "localStorage", {
|
||||
value: storageMock,
|
||||
writable: true,
|
||||
configurable: true,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user