// @vitest-environment jsdom import * as React from "react" import { render, screen } from "@testing-library/react" import { describe, expect, it } from "vitest" import { I18nProvider } from "./i18n-provider" import { useLocale, useLocales, useMessage, useTranslate } from "./hooks" import { Translate } from "./translate" const catalogs = { en: { greeting: "Hello", }, "zh-Hans": { greeting: "你好", }, } function HookProbe() { const locale = useLocale() const locales = useLocales() const message = useMessage("greeting") const translate = useTranslate() return ( {locale}|{locales.map((item) => item.locale).join(",")}|{message}| {translate("greeting")} ) } describe("i18n runtime", () => { it("provides locale information and reactive translation helpers", () => { render( ) expect(screen.getByText("zh-Hans|en,zh-Hans|你好|你好")).toBeTruthy() }) it("wraps Lingui Trans without adding a DOM element", () => { const { container } = render(

) expect(container.innerHTML).toBe("

Hello

") }) it("infers right-to-left locale direction", () => { function DirectionProbe() { return {useLocales()[0]?.direction} } render( ) expect(screen.getByText("rtl")).toBeTruthy() }) })