import * as React from "react"; import { render } from "../src/renderer"; test("should render plain text", () => { expect((render("abcd") as string).trim()).toBe("abcd"); }); test("should render numbers as text", () => { expect((render(123) as string).trim()).toBe("123"); }); test("should render null and not fail for empty values", () => { expect(render(null)).toBe(null); expect(render(undefined)).toBe(null); expect(render([])).toBe(null); }); test("should render plain text with simple Function Component", () => { function TestComponent() { return "abcd"; } // Note: Rendering string from JSX shows TS error (https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544). This is a workaround. expect( (render( React.createElement((TestComponent as unknown) as React.FunctionComponent) ) as string).trim() ).toBe("abcd"); }); test("should render plain text with simple Class Component", () => { class TestComponent extends React.Component { render() { return "abcd"; } } expect((render() as string).trim()).toBe("abcd"); });