@progress/kendo-e2e
Version:
Kendo UI end-to-end test utilities.
75 lines • 3.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toMatchFromHtml = toMatchFromHtml;
exports.toMatchSpec = toMatchSpec;
exports.toMatchFromHtmlWithPassed = toMatchFromHtmlWithPassed;
exports.toMatchSpecWithPassed = toMatchSpecWithPassed;
exports.generateReport = generateReport;
const _1 = require(".");
function toMatchFromHtml(markup, expected, comparerOptions, reportOptions) {
const result = (0, _1.compareHtml)(markup, expected, comparerOptions);
const idRefOk = !result.idRefResult || result.idRefResult.invalid.length === 0;
const pass = result.passed.length > 0 &&
result.missing.length === 0 &&
result.extra.length === 0 &&
idRefOk;
if ((reportOptions === null || reportOptions === void 0 ? void 0 : reportOptions.generateHtmlReport) && !pass) {
const opts = {
specFileName: reportOptions.specFileName || 'unknown-spec',
testName: reportOptions.testName || 'unknown-test',
specFilePath: reportOptions.specFilePath,
outputDir: reportOptions.outputDir,
actualHtml: markup,
expectedHtml: expected,
};
(0, _1.generateHtmlReport)(result, opts);
}
return {
pass,
message: generateReport.bind(null, {
comparerResult: result,
}),
};
}
function toMatchSpec(markup, spec, specOptions, comparerOptions, reportOptions) {
const expected = (0, _1.specToHtml)(spec, specOptions);
return toMatchFromHtml(markup, expected, comparerOptions, reportOptions);
}
function toMatchFromHtmlWithPassed(markup, passed = 0, expected, comparerOptions, reportOptions) {
const result = (0, _1.compareHtml)(markup, expected, comparerOptions);
const idRefOk = !result.idRefResult || result.idRefResult.invalid.length === 0;
const pass = result.passed.length === passed &&
result.missing.length === 0 &&
result.extra.length === 0 &&
idRefOk;
if ((reportOptions === null || reportOptions === void 0 ? void 0 : reportOptions.generateHtmlReport) && !pass) {
const opts = {
specFileName: reportOptions.specFileName || 'unknown-spec',
testName: reportOptions.testName || 'unknown-test',
specFilePath: reportOptions.specFilePath,
outputDir: reportOptions.outputDir,
actualHtml: markup,
expectedHtml: expected,
};
(0, _1.generateHtmlReport)(result, opts);
}
return {
pass,
message: generateReport.bind(null, {
comparerResult: result,
passed: passed,
}),
};
}
function toMatchSpecWithPassed(markup, passed = 0, spec, specOptions, comparerOptions, reportOptions) {
const expected = (0, _1.specToHtml)(spec, specOptions);
return toMatchFromHtmlWithPassed(markup, passed, expected, comparerOptions, reportOptions);
}
function generateReport({ comparerResult, passed }) {
let report = (0, _1.formatDiff)(comparerResult, { format: 'human', useColors: true });
if (passed !== undefined && passed !== comparerResult.passed.length) {
report += `\n\x1b[31mExpected ${passed} passed selectors but got ${comparerResult.passed.length}\x1b[0m\n`;
}
return report;
}
//# sourceMappingURL=matchers.js.map