/* Copyright 2026 Marimo. All rights reserved. */ import { render, screen } from "@testing-library/react"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { ReadonlyDiff } from "../readonly-diff"; const mocks = vi.hoisted(() => ({ mergeView: vi.fn(), useTheme: vi.fn(), })); vi.mock("@codemirror/merge", () => ({ unifiedMergeView: mocks.mergeView, })); vi.mock("@uiw/react-codemirror", () => ({ default: ({ theme, value }: { theme: string; value: string }) => (
), })); vi.mock("@/theme/useTheme", () => ({ useTheme: mocks.useTheme, })); describe("ReadonlyDiff", () => { beforeEach(() => { mocks.mergeView.mockReset(); mocks.mergeView.mockReturnValue([]); mocks.useTheme.mockReturnValue({ theme: "light" }); }); it("updates modified code without rebuilding the diff extensions", () => { const { rerender } = render(