UNPKG

@progress/kendo-e2e

Version:

Kendo UI end-to-end test utilities.

75 lines 3.31 kB
"use strict"; 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