UNPKG

@tapjs/reporter

Version:

Pretty test output reporters for tap

47 lines 2.03 kB
import { Box, Text } from 'ink'; import React from 'react'; import { assertName } from './assert-name.js'; import { ResultDetails } from './result-details.js'; export const ResultTag = ({ result, details = false, test, }) => { const showCallsite = !details; const c = result.skip ? '~ ' : result.todo ? '☐ ' : !result.ok ? '✖' : '✓ '; const textc = result.skip ? 'cyan' : result.todo ? 'magenta' : !result.ok ? 'red' : 'green'; const pref = (React.createElement(Text, { bold: true, color: textc }, c)); let st = result.skip || result.todo || result.tapError; const suff = typeof st === 'string' ? React.createElement(Text, { color: textc }, " ", st) : React.createElement(React.Fragment, null); const at = result.diag?.at; const fileName = at?.fileName; const callsite = showCallsite && at && fileName ? React.createElement(Text, { dimColor: true }, fileName, at.lineNumber && at.columnNumber ? `:${at.lineNumber}:${at.columnNumber}` : '') : React.createElement(React.Fragment, null); const name = assertName(result, test).trim(); const inline = name.length < 25 && !details; return (React.createElement(Box, { flexDirection: "column", gap: 0 }, React.createElement(Box, null, React.createElement(Box, null, pref, React.createElement(Text, null, name)), suff, inline ? React.createElement(React.Fragment, null, React.createElement(Text, null, " "), callsite) : React.createElement(React.Fragment, null)), inline ? React.createElement(React.Fragment, null) : React.createElement(Box, { paddingLeft: 2 }, callsite), !!details && React.createElement(ResultDetails, { result: result }))); }; //# sourceMappingURL=result-tag.js.map