Warning, /firebird/packages/epic/src/test-setup.ts is written in an unsupported language. File is not indexed.
0001 // Vitest setup: Angular JIT + TestBed environment, localStorage for jsdom.
0002 import '@angular/compiler';
0003 import { getTestBed } from '@angular/core/testing';
0004 import { BrowserTestingModule, platformBrowserTesting } from '@angular/platform-browser/testing';
0005
0006 getTestBed().initTestEnvironment(BrowserTestingModule, platformBrowserTesting());
0007
0008 // ConfigProperty persists through localStorage. Some jsdom/Node combinations
0009 // leave it undefined; provide an in-memory implementation then.
0010 if (typeof (globalThis as { localStorage?: Storage }).localStorage === 'undefined') {
0011 const store = new Map<string, string>();
0012 const localStoragePolyfill = {
0013 getItem: (key: string) => store.get(key) ?? null,
0014 setItem: (key: string, value: string) => { store.set(key, String(value)); },
0015 removeItem: (key: string) => { store.delete(key); },
0016 clear: () => store.clear(),
0017 key: (index: number) => [...store.keys()][index] ?? null,
0018 get length() { return store.size; },
0019 };
0020 Object.defineProperty(globalThis, 'localStorage', { value: localStoragePolyfill, writable: true });
0021 Object.defineProperty(window, 'localStorage', { value: localStoragePolyfill, writable: true });
0022 }