earljs
Version:
Ergonomic, modern and type-safe assertion library
52 lines (51 loc) • 2.4 kB
JavaScript
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;
;