17 lines
539 B
TypeScript
17 lines
539 B
TypeScript
import { vi } from 'vitest'
|
|
|
|
const mockStorage = new Map<string, string>()
|
|
|
|
Object.defineProperty(globalThis, 'localStorage', {
|
|
value: {
|
|
getItem: (key: string) => mockStorage.get(key) ?? null,
|
|
setItem: (key: string, value: string) => mockStorage.set(key, String(value)),
|
|
removeItem: (key: string) => mockStorage.delete(key),
|
|
clear: () => mockStorage.clear(),
|
|
get length() { return mockStorage.size },
|
|
key: (index: number) => [...mockStorage.keys()][index] ?? null,
|
|
},
|
|
configurable: true,
|
|
writable: true,
|
|
})
|