import { render, screen } from "@testing-library/react";
import { describe, expect, it } from "vitest";
import { InlineText } from "./InlineText";
describe("InlineText", () => {
it("wraps backtick spans in monospace code elements", () => {
const { container } = render();
const code = container.querySelector("code.inline-code");
expect(code?.textContent).toBe("ls .memory/");
expect(container.textContent).toBe("Run ls .memory/ now");
});
it("handles several code spans", () => {
const { container } = render();
const codes = container.querySelectorAll("code.inline-code");
expect(codes).toHaveLength(2);
expect(codes[0].textContent).toBe("a");
expect(codes[1].textContent).toBe("b");
});
it("renders plain text untouched", () => {
const { container } = render();
expect(container.querySelector("code")).toBeNull();
expect(screen.getByText("no code here")).toBeDefined();
});
it("leaves an unpaired backtick's tail as plain text", () => {
const { container } = render();
// "tick" follows an unclosed backtick: rendered as a code span is
// acceptable, but the full text must survive.
expect(container.textContent).toBe("odd tick");
});
});