mirror of https://github.com/portainer/portainer
43 lines
830 B
TypeScript
43 lines
830 B
TypeScript
import 'vitest-dom/extend-expect';
|
|
|
|
// Mock Range APIs that CodeMirror needs but JSDOM doesn't provide
|
|
Range.prototype.getBoundingClientRect = () => ({
|
|
bottom: 0,
|
|
height: 0,
|
|
left: 0,
|
|
right: 0,
|
|
top: 0,
|
|
width: 0,
|
|
x: 0,
|
|
y: 0,
|
|
toJSON: vi.fn(),
|
|
});
|
|
|
|
Range.prototype.getClientRects = () => ({
|
|
item: () => null,
|
|
length: 0,
|
|
[Symbol.iterator]: vi.fn(),
|
|
});
|
|
|
|
// Mock createRange
|
|
document.createRange = () => {
|
|
const range = new Range();
|
|
range.getBoundingClientRect = vi.fn();
|
|
range.getClientRects = () => ({
|
|
item: () => null,
|
|
length: 0,
|
|
[Symbol.iterator]: vi.fn(),
|
|
});
|
|
return range;
|
|
};
|
|
|
|
// Mock selection APIs
|
|
const mockSelection = {
|
|
rangeCount: 0,
|
|
addRange: vi.fn(),
|
|
getRangeAt: vi.fn(),
|
|
removeAllRanges: vi.fn(),
|
|
};
|
|
|
|
window.getSelection = () => mockSelection as unknown as Selection;
|