import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { EditorPane } from "./EditorPane"; const { readFileMock, writeFileMock } = vi.hoisted(() => ({ readFileMock: vi.fn(), writeFileMock: vi.fn(), })); vi.mock("../api", () => ({ readFile: readFileMock, writeFile: writeFileMock, })); // Monaco is replaced by a plain textarea driving the same onChange contract. vi.mock("./MonacoViewer", () => ({ default: ({ content, onChange, }: { content: string; onChange?: (value: string) => void }) => (