UNPKG

flow-coverage-report

Version:

Generate an HTML report of the flow coverage data

159 lines (137 loc) 6.08 kB
'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _footer = _interopRequireDefault(require("./footer")); var _coverageFileTableHead = _interopRequireDefault(require("./coverage-file-table-head")); var _coverageFileTableRow = _interopRequireDefault(require("./coverage-file-table-row")); var _coverageMeterBar = _interopRequireDefault(require("./coverage-meter-bar")); var FlowCoverageLocsForm = function FlowCoverageLocsForm(props) { var uncovered_locs = props.uncovered_locs; // eslint-disable-line camelcase return /*#__PURE__*/_react["default"].createElement("div", { className: "ui form" }, /*#__PURE__*/_react["default"].createElement("div", { className: "fields" }, /*#__PURE__*/_react["default"].createElement("div", { key: "uncovered-locs-dropdown", className: "sixteen wide inline field" }, /*#__PURE__*/_react["default"].createElement("select", { className: "ui search dropdown uncovered-locations" }, [/*#__PURE__*/_react["default"].createElement("option", { key: "placeholder", value: "" }, "Uncovered Locations")].concat(uncovered_locs.map(function (loc, i) { // eslint-disable-line camelcase var text = 'Start: ' + [loc.start.line, loc.start.column].join(',') + ' - ' + 'End: ' + [loc.end.line, loc.end.column].join(','); var value = loc.start.line; /* eslint-disable react/no-array-index-key */ return /*#__PURE__*/_react["default"].createElement("option", { key: i, value: value }, text); /* eslint-enable react/no-array-index-key */ })))), /*#__PURE__*/_react["default"].createElement("div", { key: "syntax-highlighting-dropdown", className: "four wide inline field" }, /*#__PURE__*/_react["default"].createElement("select", { className: "ui search dropdown syntax-highlighting" }, /*#__PURE__*/_react["default"].createElement("option", { key: "es", value: "es" }, "ES6/ES7"), /*#__PURE__*/_react["default"].createElement("option", { key: "js", value: "js" }, "JavaScript"), /*#__PURE__*/_react["default"].createElement("option", { key: "no", value: "no" }, "None"))))); }; var HTMLReportBodySourceFile = function HTMLReportBodySourceFile(props) { var fileName = props.fileName, fileContent = props.fileContent; if (!fileName) { throw new Error('Missing fileName in props'); } var coverageData = props.coverageData, coverageSummaryData = props.coverageSummaryData; if (!coverageData || !coverageSummaryData) { throw new Error('Missing coverage data props'); } var percent = coverageData.percent; var threshold = coverageSummaryData.threshold; if (!threshold) { throw new Error('Missing threshold in coverageSummaryData'); } var _coverageData$express = coverageData.expressions, covered_count = _coverageData$express.covered_count, uncovered_count = _coverageData$express.uncovered_count, uncovered_locs = _coverageData$express.uncovered_locs; var summaryRelLink = props.summaryRelLink; var meterBar; if (props.htmlTemplateOptions && props.htmlTemplateOptions.showMeterBar) { meterBar = /*#__PURE__*/_react["default"].createElement(_coverageMeterBar["default"], { percent: percent, threshold: threshold }); } return /*#__PURE__*/_react["default"].createElement("body", null, /*#__PURE__*/_react["default"].createElement("div", { className: "ui grid container" }, /*#__PURE__*/_react["default"].createElement("div", { className: "row" }, /*#__PURE__*/_react["default"].createElement("div", { className: "twelve wide column" }, /*#__PURE__*/_react["default"].createElement("h2", { className: "ui header" }, /*#__PURE__*/_react["default"].createElement("a", { href: summaryRelLink, id: "link-to-summary" }, "Flow Coverage Report")))), /*#__PURE__*/_react["default"].createElement("div", { className: "row" }, /*#__PURE__*/_react["default"].createElement("table", { className: "ui small celled unstackable table" }, /*#__PURE__*/_react["default"].createElement(_coverageFileTableHead["default"], null), /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement(_coverageFileTableRow["default"], { disableLink: true, filename: fileName, annotation: coverageData.annotation, flowCoverageParsingError: coverageData.flowCoverageParsingError, flowCoverageError: coverageData.flowCoverageError, flowCoverageException: coverageData.flowCoverageException, flowCoverageStderr: coverageData.flowCoverageStderr, isError: coverageData.isError, isFlow: coverageData.isFlow, percent: percent, threshold: threshold, /* eslint-disable camelcase */ covered_count: covered_count, uncovered_count: uncovered_count /* eslint-enable camelcase */ })))), meterBar, /*#__PURE__*/_react["default"].createElement("div", { className: "row ui one column centered grid" }, /*#__PURE__*/_react["default"].createElement("div", { className: "column", style: { textAlign: 'left' } }, /*#__PURE__*/_react["default"].createElement("div", { className: "row" }, /*#__PURE__*/_react["default"].createElement(FlowCoverageLocsForm, { uncovered_locs: uncovered_locs })), /*#__PURE__*/_react["default"].createElement("textarea", { readOnly: true, id: "file-content", value: String(fileContent) }))), /*#__PURE__*/_react["default"].createElement("div", { className: "row centered" }, /*#__PURE__*/_react["default"].createElement(_footer["default"], props))), /*#__PURE__*/_react["default"].createElement("pre", { id: "file-coverage-data", style: { display: 'none' } }, JSON.stringify(coverageData))); }; var _default = HTMLReportBodySourceFile; exports["default"] = _default; //# sourceMappingURL=body-coverage-sourcefile.js.map