Files
iron-requiem/tests/setup.js

39 lines
901 B
JavaScript

// Vitest setup for Phaser 3 + jsdom
import { vi } from 'vitest';
// Provide a minimal canvas mock for Phaser in jsdom
HTMLCanvasElement.prototype.getContext = vi.fn(() => ({
fillRect: vi.fn(),
clearRect: vi.fn(),
getImageData: vi.fn(() => ({ data: new Array(4) })),
putImageData: vi.fn(),
createImageData: vi.fn(() => []),
setTransform: vi.fn(),
drawImage: vi.fn(),
save: vi.fn(),
restore: vi.fn(),
scale: vi.fn(),
rotate: vi.fn(),
translate: vi.fn(),
transform: vi.fn(),
beginPath: vi.fn(),
moveTo: vi.fn(),
lineTo: vi.fn(),
closePath: vi.fn(),
fill: vi.fn(),
stroke: vi.fn(),
clip: vi.fn(),
arc: vi.fn(),
rect: vi.fn(),
measureText: vi.fn(() => ({ width: 0 })),
fillText: vi.fn(),
}));
// Mock requestAnimationFrame
let rafId = 0;
global.requestAnimationFrame = vi.fn((cb) => {
rafId++;
return rafId;
});
global.cancelAnimationFrame = vi.fn();