Files
react-to-markdown/__tests__/renderer-spec.tsx
T

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");
});