UNPKG

@tapjs/reporter

Version:
59 lines 3.29 kB
import { Box, Text } from 'ink'; import React from 'react'; import { BailedOut } from './bailed-out.js'; import { useAssertTotals } from './hooks/use-assert-totals.js'; import { useComments } from './hooks/use-comments.js'; import { useSuiteTotals } from './hooks/use-suite-totals.js'; import { TimedOut } from './timed-out.js'; const Complete = ({ pass, fail = 0, total }) => (React.createElement(Text, { bold: true, dimColor: true }, pass + fail, " of ", total, " complete")); const Skip = ({ skip = 0 }) => (React.createElement(Text, { color: "cyan" }, skip, " skip")); const Fail = ({ fail = 0 }) => (React.createElement(Text, { color: "red", dimColor: fail === 0, bold: fail !== 0 }, fail, " fail")); const Pass = ({ pass }) => (React.createElement(Text, { color: "green" }, pass, " pass")); const Todo = ({ todo = 0 }) => todo ? React.createElement(Box, { flexDirection: "column", alignItems: "flex-end" }, React.createElement(Text, { color: "magenta" }, todo, " todo"), React.createElement(Text, null, " ")) : React.createElement(React.Fragment, null); export const SuiteSummary = ({ test }) => { const suites = useSuiteTotals(test); const asserts = useAssertTotals(test); const comments = useComments(test); return (React.createElement(Box, { flexDirection: "column" }, React.createElement(Box, { marginY: 1, flexDirection: "column" }, React.createElement(Box, null, React.createElement(Box, { flexDirection: "row", gap: 2, alignSelf: "flex-end" }, React.createElement(Box, { flexDirection: "column" }, React.createElement(Text, { bold: true }, "Asserts:"), React.createElement(Text, { bold: true }, "Suites:")), React.createElement(Box, { flexDirection: "column", alignItems: "flex-end" }, React.createElement(Pass, { ...asserts }), React.createElement(Pass, { ...suites })), React.createElement(Box, { flexDirection: "column", alignItems: "flex-end" }, React.createElement(Fail, { ...asserts }), React.createElement(Fail, { ...suites })), (!!suites.skip || !!asserts.skip) && (React.createElement(Box, { flexDirection: "column", alignItems: "flex-end" }, React.createElement(Skip, { ...asserts }), React.createElement(Skip, { ...suites }))), React.createElement(Todo, { ...asserts }), React.createElement(Box, { flexDirection: "column", alignItems: "flex-end" }, React.createElement(Complete, { ...asserts }), React.createElement(Complete, { ...suites })))), React.createElement(BailedOut, { test: test }), React.createElement(TimedOut, { test: test })), comments.length ? React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, comments.map((c, key) => (React.createElement(Text, { key: key, dimColor: true }, c)))) : React.createElement(React.Fragment, null))); }; //# sourceMappingURL=suite-summary.js.map