mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-22 05:32:12 -03:00
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
import { afterEach, beforeEach } from 'vitest';
|
|
import { resetDom } from './utils/domFixtures.js';
|
|
|
|
// Polyfill PointerEvent for jsdom environment
|
|
if (typeof window !== 'undefined' && !window.PointerEvent) {
|
|
class PointerEvent extends MouseEvent {
|
|
constructor(type, eventInit = {}) {
|
|
super(type, eventInit);
|
|
this.pointerId = eventInit.pointerId || 0;
|
|
this.pointerType = eventInit.pointerType || 'mouse';
|
|
this.isPrimary = eventInit.isPrimary !== undefined ? eventInit.isPrimary : true;
|
|
}
|
|
}
|
|
window.PointerEvent = PointerEvent;
|
|
}
|
|
|
|
// Polyfill setPointerCapture and releasePointerCapture for jsdom elements
|
|
if (typeof Element !== 'undefined') {
|
|
const capturedPointers = new Map();
|
|
|
|
Element.prototype.setPointerCapture = function(pointerId) {
|
|
capturedPointers.set(pointerId, this);
|
|
};
|
|
|
|
Element.prototype.releasePointerCapture = function(pointerId) {
|
|
capturedPointers.delete(pointerId);
|
|
};
|
|
|
|
// Store captured pointers for potential use in tests
|
|
window.__testCapturedPointers = capturedPointers;
|
|
}
|
|
|
|
beforeEach(() => {
|
|
// Ensure storage is clean before each test to avoid cross-test pollution
|
|
localStorage.clear();
|
|
sessionStorage.clear();
|
|
|
|
// Reset DOM state for modules that rely on body attributes
|
|
resetDom();
|
|
});
|
|
|
|
afterEach(() => {
|
|
// Clean any dynamically attached globals by tests
|
|
resetDom();
|
|
});
|