mirror of
https://github.com/anomalyco/opencode.git
synced 2026-02-01 22:48:16 +00:00
76 lines
2.2 KiB
TypeScript
76 lines
2.2 KiB
TypeScript
import { GlobalRegistrator } from "@happy-dom/global-registrator"
|
|
|
|
GlobalRegistrator.register()
|
|
|
|
const originalGetContext = HTMLCanvasElement.prototype.getContext
|
|
// @ts-expect-error - we're overriding with a simplified mock
|
|
HTMLCanvasElement.prototype.getContext = function (contextType: string, _options?: unknown) {
|
|
if (contextType === "2d") {
|
|
return {
|
|
canvas: this,
|
|
fillStyle: "#000000",
|
|
strokeStyle: "#000000",
|
|
font: "12px monospace",
|
|
textAlign: "start",
|
|
textBaseline: "alphabetic",
|
|
globalAlpha: 1,
|
|
globalCompositeOperation: "source-over",
|
|
imageSmoothingEnabled: true,
|
|
lineWidth: 1,
|
|
lineCap: "butt",
|
|
lineJoin: "miter",
|
|
miterLimit: 10,
|
|
shadowBlur: 0,
|
|
shadowColor: "rgba(0, 0, 0, 0)",
|
|
shadowOffsetX: 0,
|
|
shadowOffsetY: 0,
|
|
fillRect: () => {},
|
|
strokeRect: () => {},
|
|
clearRect: () => {},
|
|
fillText: () => {},
|
|
strokeText: () => {},
|
|
measureText: (text: string) => ({ width: text.length * 8 }),
|
|
drawImage: () => {},
|
|
save: () => {},
|
|
restore: () => {},
|
|
scale: () => {},
|
|
rotate: () => {},
|
|
translate: () => {},
|
|
transform: () => {},
|
|
setTransform: () => {},
|
|
resetTransform: () => {},
|
|
createLinearGradient: () => ({ addColorStop: () => {} }),
|
|
createRadialGradient: () => ({ addColorStop: () => {} }),
|
|
createPattern: () => null,
|
|
beginPath: () => {},
|
|
closePath: () => {},
|
|
moveTo: () => {},
|
|
lineTo: () => {},
|
|
bezierCurveTo: () => {},
|
|
quadraticCurveTo: () => {},
|
|
arc: () => {},
|
|
arcTo: () => {},
|
|
ellipse: () => {},
|
|
rect: () => {},
|
|
fill: () => {},
|
|
stroke: () => {},
|
|
clip: () => {},
|
|
isPointInPath: () => false,
|
|
isPointInStroke: () => false,
|
|
getTransform: () => ({}),
|
|
getImageData: () => ({
|
|
data: new Uint8ClampedArray(0),
|
|
width: 0,
|
|
height: 0,
|
|
}),
|
|
putImageData: () => {},
|
|
createImageData: () => ({
|
|
data: new Uint8ClampedArray(0),
|
|
width: 0,
|
|
height: 0,
|
|
}),
|
|
} as unknown as CanvasRenderingContext2D
|
|
}
|
|
return originalGetContext.call(this, contextType as "2d", _options)
|
|
}
|