claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
265 lines • 11.5 kB
TypeScript
/**
* Standardized browser API mocks for testing
* Provides reusable mocking utilities for localStorage, sessionStorage, window.matchMedia, and other browser APIs
*/
/**
* Creates a mock for localStorage/sessionStorage with common methods
*/
export declare function createStorageMock(): {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
/**
* Creates a mock for window.matchMedia
*/
export declare function createMatchMediaMock(matches?: boolean): import("vitest").Mock<(...args: any[]) => any>;
/**
* Creates a comprehensive set of browser API mocks
*/
export declare function createBrowserMocks(): {
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
/**
* Sets up browser API mocks on the global window object
*/
export declare function setupBrowserMocks(): {
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
/**
* Clears all browser API mocks
*/
export declare function clearBrowserMocks(): void;
/**
* Theme-specific mocking utilities
*/
export declare const themeMocks: {
/**
* Sets up theme-related mocks for light mode
*/
setupLightTheme(): {
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
/**
* Sets up theme-related mocks for dark mode
*/
setupDarkTheme(): {
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
/**
* Sets up theme-related mocks for auto mode with system preference
*/
setupAutoTheme(systemPrefersDark?: boolean): {
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
};
/**
* Modal-specific mocking utilities
*/
export declare const modalMocks: {
/**
* Sets up mocks for modal components
*/
setup(): {
focus: import("vitest").Mock<(...args: any[]) => any>;
blur: import("vitest").Mock<(...args: any[]) => any>;
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
};
/**
* Tooltip-specific mocking utilities
*/
export declare const tooltipMocks: {
/**
* Sets up mocks for tooltip components
*/
setup(): {
getBoundingClientRect: import("vitest").Mock<(...args: any[]) => any>;
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
};
/**
* TipTap/ProseMirror-specific mocking utilities for editor components
*/
export declare const editorMocks: {
/**
* Sets up comprehensive mocks for TipTap/ProseMirror editor functionality
*/
setup(): {
cleanup: () => void;
localStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
sessionStorage: {
getItem: import("vitest").Mock<(...args: any[]) => any>;
setItem: import("vitest").Mock<(...args: any[]) => any>;
removeItem: import("vitest").Mock<(...args: any[]) => any>;
clear: import("vitest").Mock<(...args: any[]) => any>;
key: import("vitest").Mock<(...args: any[]) => any>;
length: number;
};
matchMedia: import("vitest").Mock<(...args: any[]) => any>;
getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
/**
* Creates a mock editor element suitable for TipTap initialization
*/
createEditorElement(): HTMLDivElement;
/**
* Creates mock editor configuration for testing
*/
createEditorConfig(overrides?: any): any;
};
/**
* Test utilities for component state management
*/
export declare const componentMocks: {
/**
* Cleans up theme manager and other global component state
*/
cleanupThemeManager(): void;
};
//# sourceMappingURL=browser-mocks.d.ts.map