UNPKG

folio

Version:

A customizable test framework to build your own test frameworks. Foundation for the [Playwright test runner](https://github.com/microsoft/playwright-test).

53 lines 2.31 kB
"use strict"; /** * Copyright Microsoft Corporation. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.expect = void 0; const expect_1 = __importDefault(require("expect")); const fixtures_1 = require("./fixtures"); const golden_1 = require("./golden"); exports.expect = expect_1.default; const snapshotOrdinalSymbol = Symbol('snapshotOrdinalSymbol'); function toMatchSnapshot(received, nameOrOptions, optOptions = {}) { let options; const testInfo = fixtures_1.currentTestInfo(); if (typeof nameOrOptions === 'string') options = { name: nameOrOptions, ...optOptions }; else options = { ...nameOrOptions }; let name = options.name; if (!name) { const ordinal = testInfo[snapshotOrdinalSymbol] || 0; testInfo[snapshotOrdinalSymbol] = ordinal + 1; let extension; if (typeof received === 'string') extension = '.txt'; else if (received[0] === 0x89 && received[1] === 0x50 && received[2] === 0x4E && received[3] === 0x47) extension = '.png'; else if (received[0] === 0xFF && received[1] === 0xD8 && received[2] === 0xFF) extension = '.jpeg'; else extension = '.dat'; name = 'snapshot' + (ordinal ? '_' + ordinal : '') + extension; } const { pass, message } = golden_1.compare(received, name, testInfo.snapshotPath, testInfo.outputPath, fixtures_1.config.updateSnapshots, options); return { pass, message: () => message }; } expect_1.default.extend({ toMatchSnapshot }); //# sourceMappingURL=expect.js.map