Files
simple-react-app-kit/packages/i18n/src/devtool/ansi-text.test.tsx
T

30 lines
929 B
TypeScript
Raw Normal View History

import * as React from "react"
import { renderToStaticMarkup } from "react-dom/server"
import { describe, expect, it } from "vitest"
import { AnsiText, resolveAnsiComponent } from "./ansi-text"
describe("AnsiText", () => {
it("resolves direct, CommonJS, and nested default exports", () => {
const Component = ({ children }: { children?: string }) => (
<code>{children}</code>
)
expect(resolveAnsiComponent(Component)).toBe(Component)
expect(resolveAnsiComponent({ default: Component })).toBe(Component)
expect(resolveAnsiComponent({ default: { default: Component } })).toBe(
Component
)
})
it("renders ANSI SGR output during server rendering", () => {
const markup = renderToStaticMarkup(
<AnsiText>{"\u001b[32mDone\u001b[39m"}</AnsiText>
)
expect(markup).toContain("Done")
expect(markup).toContain("color:")
expect(markup).not.toContain("\u001b")
})
})