UNPKG

earljs

Version:

Ergonomic, modern and type-safe assertion library

52 lines (51 loc) 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toBeAnObjectWith = exports.toBeAnArrayWith = exports.toBeAnArrayOfLength = exports.toBeAContainerWith = void 0; const format_1 = require("../format"); const matchers_1 = require("../matchers"); const ArrayOfLength_1 = require("../matchers/ArrayOfLength"); const ObjectWith_1 = require("../matchers/ObjectWith"); function toBeAContainerWith(control, expectedItems) { const m = new matchers_1.ContainerWithMatcher(expectedItems); const actualFmt = (0, format_1.formatCompact)(control.actual); const expectedFmt = (0, format_1.formatCompact)(expectedItems); control.assert({ success: m.check(control.actual), reason: `${actualFmt} does not contain ${expectedFmt}`, negatedReason: `${actualFmt} contains ${expectedFmt}`, }); } exports.toBeAContainerWith = toBeAContainerWith; function toBeAnArrayOfLength(control, length) { const m = new ArrayOfLength_1.ArrayOfLengthMatcher(length); const actualFmt = (0, format_1.formatCompact)(control.actual); const lengthFmt = (0, format_1.formatCompact)(length); control.assert({ success: m.check(control.actual), reason: `${actualFmt} does not have length ${lengthFmt}`, negatedReason: `${actualFmt} does have length ${lengthFmt}`, }); } exports.toBeAnArrayOfLength = toBeAnArrayOfLength; function toBeAnArrayWith(control, expectedItems) { const m = new matchers_1.ArrayWithMatcher(expectedItems); const actualFmt = (0, format_1.formatCompact)(control.actual); const expectedFmt = (0, format_1.formatCompact)(expectedItems); control.assert({ success: m.check(control.actual), reason: `${actualFmt} does not contain array ${expectedFmt}`, negatedReason: `${actualFmt} contains array ${expectedFmt}`, }); } exports.toBeAnArrayWith = toBeAnArrayWith; function toBeAnObjectWith(control, expected) { const m = new ObjectWith_1.ObjectWithMatcher(expected); const actualFmt = (0, format_1.formatCompact)(control.actual); const expectedFmt = (0, format_1.formatCompact)(expected); control.assert({ success: m.check(control.actual), reason: `${actualFmt} is not a subset of object ${expectedFmt}`, negatedReason: `${actualFmt} is a subset of object ${expectedFmt}`, }); } exports.toBeAnObjectWith = toBeAnObjectWith;