import { render, screen, waitFor } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { DiffSyntaxHighlight } from "@/components/thread/activity/DiffSyntaxHighlight"; import { ThemeProvider } from "@/hooks/useTheme"; describe("DiffSyntaxHighlight with Prism", () => { it("loads the TSX grammar and renders styled syntax tokens", async () => { render( ready;', }, ]} /> , ); const highlighted = await screen.findByTestId("syntax-highlighted-diff-hunk"); await waitFor( () => { expect(highlighted.querySelectorAll('td:last-child span[style*="color"]')).not.toHaveLength( 0, ); }, { timeout: 10_000 }, ); expect(highlighted).toHaveAttribute("data-language", "tsx"); expect(highlighted.querySelectorAll("tbody tr")).toHaveLength(4); }); });