mirror of
https://github.com/bendtherules/react-to-markdown.git
synced 2026-08-19 00:34:01 +00:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
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(<TestComponent />) as string).trim()).toBe("abcd");
|
|
});
|