@plugjs/expect5 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/cli.d.mts +2 -0
- package/dist/cli.mjs +96 -0
- package/dist/cli.mjs.map +6 -0
- package/dist/execution/executable.cjs +299 -0
- package/dist/execution/executable.cjs.map +6 -0
- package/dist/execution/executable.d.ts +87 -0
- package/dist/execution/executable.mjs +260 -0
- package/dist/execution/executable.mjs.map +6 -0
- package/dist/execution/executor.cjs +125 -0
- package/dist/execution/executor.cjs.map +6 -0
- package/dist/execution/executor.d.ts +35 -0
- package/dist/execution/executor.mjs +90 -0
- package/dist/execution/executor.mjs.map +6 -0
- package/dist/execution/setup.cjs +127 -0
- package/dist/execution/setup.cjs.map +6 -0
- package/dist/execution/setup.d.ts +31 -0
- package/dist/execution/setup.mjs +87 -0
- package/dist/execution/setup.mjs.map +6 -0
- package/dist/expectation/basic.cjs +216 -0
- package/dist/expectation/basic.cjs.map +6 -0
- package/dist/expectation/basic.d.ts +47 -0
- package/dist/expectation/basic.mjs +177 -0
- package/dist/expectation/basic.mjs.map +6 -0
- package/dist/expectation/diff.cjs +253 -0
- package/dist/expectation/diff.cjs.map +6 -0
- package/dist/expectation/diff.d.ts +27 -0
- package/dist/expectation/diff.mjs +228 -0
- package/dist/expectation/diff.mjs.map +6 -0
- package/dist/expectation/expect.cjs +211 -0
- package/dist/expectation/expect.cjs.map +6 -0
- package/dist/expectation/expect.d.ts +140 -0
- package/dist/expectation/expect.mjs +219 -0
- package/dist/expectation/expect.mjs.map +6 -0
- package/dist/expectation/include.cjs +187 -0
- package/dist/expectation/include.cjs.map +6 -0
- package/dist/expectation/include.d.ts +10 -0
- package/dist/expectation/include.mjs +158 -0
- package/dist/expectation/include.mjs.map +6 -0
- package/dist/expectation/print.cjs +281 -0
- package/dist/expectation/print.cjs.map +6 -0
- package/dist/expectation/print.d.ts +4 -0
- package/dist/expectation/print.mjs +256 -0
- package/dist/expectation/print.mjs.map +6 -0
- package/dist/expectation/throwing.cjs +58 -0
- package/dist/expectation/throwing.cjs.map +6 -0
- package/dist/expectation/throwing.d.ts +8 -0
- package/dist/expectation/throwing.mjs +32 -0
- package/dist/expectation/throwing.mjs.map +6 -0
- package/dist/expectation/types.cjs +212 -0
- package/dist/expectation/types.cjs.map +6 -0
- package/dist/expectation/types.d.ts +57 -0
- package/dist/expectation/types.mjs +178 -0
- package/dist/expectation/types.mjs.map +6 -0
- package/dist/expectation/void.cjs +111 -0
- package/dist/expectation/void.cjs.map +6 -0
- package/dist/expectation/void.d.ts +39 -0
- package/dist/expectation/void.mjs +77 -0
- package/dist/expectation/void.mjs.map +6 -0
- package/dist/globals.cjs +2 -0
- package/dist/globals.cjs.map +6 -0
- package/dist/globals.d.ts +23 -0
- package/dist/globals.mjs +1 -0
- package/dist/globals.mjs.map +6 -0
- package/dist/index.cjs +66 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.mjs +41 -0
- package/dist/index.mjs.map +6 -0
- package/dist/test.cjs +229 -0
- package/dist/test.cjs.map +6 -0
- package/dist/test.d.ts +9 -0
- package/dist/test.mjs +194 -0
- package/dist/test.mjs.map +6 -0
- package/package.json +57 -0
- package/src/cli.mts +122 -0
- package/src/execution/executable.ts +364 -0
- package/src/execution/executor.ts +146 -0
- package/src/execution/setup.ts +108 -0
- package/src/expectation/basic.ts +209 -0
- package/src/expectation/diff.ts +445 -0
- package/src/expectation/expect.ts +401 -0
- package/src/expectation/include.ts +184 -0
- package/src/expectation/print.ts +386 -0
- package/src/expectation/throwing.ts +45 -0
- package/src/expectation/types.ts +263 -0
- package/src/expectation/void.ts +80 -0
- package/src/globals.ts +30 -0
- package/src/index.ts +54 -0
- package/src/test.ts +239 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// expectation/expect.ts
|
|
21
|
+
var expect_exports = {};
|
|
22
|
+
__export(expect_exports, {
|
|
23
|
+
expect: () => expect
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(expect_exports);
|
|
26
|
+
var import_types = require("./types.cjs");
|
|
27
|
+
var import_basic = require("./basic.cjs");
|
|
28
|
+
var import_include = require("./include.cjs");
|
|
29
|
+
var import_throwing = require("./throwing.cjs");
|
|
30
|
+
var import_void = require("./void.cjs");
|
|
31
|
+
var expectations = {
|
|
32
|
+
// basic expectations
|
|
33
|
+
toBeA: new import_basic.ToBeA(),
|
|
34
|
+
toBeCloseTo: new import_basic.ToBeCloseTo(),
|
|
35
|
+
toBeError: new import_basic.ToBeError(),
|
|
36
|
+
toBeGreaterThan: new import_basic.ToBeGreaterThan(),
|
|
37
|
+
toBeGreaterThanOrEqual: new import_basic.ToBeGreaterThanOrEqual(),
|
|
38
|
+
toBeInstanceOf: new import_basic.ToBeInstanceOf(),
|
|
39
|
+
toBeLessThan: new import_basic.ToBeLessThan(),
|
|
40
|
+
toBeLessThanOrEqual: new import_basic.ToBeLessThanOrEqual(),
|
|
41
|
+
toBeWithinRange: new import_basic.ToBeWithinRange(),
|
|
42
|
+
toEqual: new import_basic.ToEqual(),
|
|
43
|
+
toHaveLength: new import_basic.ToHaveLength(),
|
|
44
|
+
toHaveProperty: new import_basic.ToHaveProperty(),
|
|
45
|
+
toHaveSize: new import_basic.ToHaveSize(),
|
|
46
|
+
toMatch: new import_basic.ToMatch(),
|
|
47
|
+
toStrictlyEqual: new import_basic.ToStrictlyEqual(),
|
|
48
|
+
// include
|
|
49
|
+
toInclude: new import_include.ToInclude(),
|
|
50
|
+
toMatchContents: new import_include.ToMatchContents(),
|
|
51
|
+
// throwing
|
|
52
|
+
toThrow: new import_throwing.ToThrow(),
|
|
53
|
+
toThrowError: new import_throwing.ToThrowError(),
|
|
54
|
+
// void expectations
|
|
55
|
+
toBeDefined: new import_void.ToBeDefined(),
|
|
56
|
+
toBeFalse: new import_void.ToBeFalse(),
|
|
57
|
+
toBeFalsy: new import_void.ToBeFalsy(),
|
|
58
|
+
toBeNaN: new import_void.ToBeNaN(),
|
|
59
|
+
toBeNegativeInfinity: new import_void.ToBeNegativeInfinity(),
|
|
60
|
+
toBeNull: new import_void.ToBeNull(),
|
|
61
|
+
toBePositiveInfinity: new import_void.ToBePositiveInfinity(),
|
|
62
|
+
toBeTrue: new import_void.ToBeTrue(),
|
|
63
|
+
toBeTruthy: new import_void.ToBeTruthy(),
|
|
64
|
+
toBeUndefined: new import_void.ToBeUndefined()
|
|
65
|
+
};
|
|
66
|
+
var ExpectationsImpl = class {
|
|
67
|
+
constructor(value, _positiveExpectations) {
|
|
68
|
+
this.value = value;
|
|
69
|
+
if (_positiveExpectations) {
|
|
70
|
+
this._negative = true;
|
|
71
|
+
this._positiveExpectations = _positiveExpectations;
|
|
72
|
+
this._negativeExpectations = this;
|
|
73
|
+
} else {
|
|
74
|
+
this._negative = false;
|
|
75
|
+
this._positiveExpectations = this;
|
|
76
|
+
this._negativeExpectations = new ExpectationsImpl(value, this);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
_positiveExpectations;
|
|
80
|
+
_negativeExpectations;
|
|
81
|
+
_negative;
|
|
82
|
+
/* == NEW EXPECTATIONS ==================================================== */
|
|
83
|
+
forProperty(prop) {
|
|
84
|
+
this.toBeDefined();
|
|
85
|
+
const child = new ExpectationsImpl(this.value[prop]);
|
|
86
|
+
child.parent = { context: this, prop };
|
|
87
|
+
return child;
|
|
88
|
+
}
|
|
89
|
+
forValue(value) {
|
|
90
|
+
return new ExpectationsImpl(value);
|
|
91
|
+
}
|
|
92
|
+
/* == NEGATION ============================================================ */
|
|
93
|
+
negated(negative) {
|
|
94
|
+
return negative ? this._negativeExpectations : this._positiveExpectations;
|
|
95
|
+
}
|
|
96
|
+
get not() {
|
|
97
|
+
return this._negative ? this._positiveExpectations : this._negativeExpectations;
|
|
98
|
+
}
|
|
99
|
+
/* == ASYNCHRONOUS EXPECTATIONS =========================================== */
|
|
100
|
+
toBeResolved(assert) {
|
|
101
|
+
return Promise.resolve().then(() => {
|
|
102
|
+
this._positiveExpectations.toHaveProperty("then", (a) => a.toBeA("function"));
|
|
103
|
+
return Promise.allSettled([Promise.resolve(this.value)]);
|
|
104
|
+
}).then(([settlement]) => {
|
|
105
|
+
if (settlement.status === "fulfilled") {
|
|
106
|
+
if (this._negative)
|
|
107
|
+
throw new import_types.ExpectationError(this, true, "to be resolved");
|
|
108
|
+
if (assert)
|
|
109
|
+
assert(new ExpectationsImpl(settlement.value));
|
|
110
|
+
} else if (!this._negative) {
|
|
111
|
+
throw new import_types.ExpectationError(this, false, "to be resolved");
|
|
112
|
+
}
|
|
113
|
+
return this._positiveExpectations;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
toBeRejected(assert) {
|
|
117
|
+
return Promise.resolve().then(() => {
|
|
118
|
+
this._positiveExpectations.toHaveProperty("then", (a) => a.toBeA("function"));
|
|
119
|
+
return Promise.allSettled([Promise.resolve(this.value)]);
|
|
120
|
+
}).then(([settlement]) => {
|
|
121
|
+
if (settlement.status === "rejected") {
|
|
122
|
+
if (this._negative)
|
|
123
|
+
throw new import_types.ExpectationError(this, true, "to be rejected");
|
|
124
|
+
if (assert)
|
|
125
|
+
assert(new ExpectationsImpl(settlement.reason));
|
|
126
|
+
} else if (!this._negative) {
|
|
127
|
+
throw new import_types.ExpectationError(this, false, "to be rejected");
|
|
128
|
+
}
|
|
129
|
+
return this._positiveExpectations;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
toBeRejectedWithError(...args) {
|
|
133
|
+
return this.toBeRejected((assert) => assert.toBeError(...args));
|
|
134
|
+
}
|
|
135
|
+
static {
|
|
136
|
+
for (const [key, value] of Object.entries(expectations)) {
|
|
137
|
+
const expectation = value;
|
|
138
|
+
const fn = function(...args) {
|
|
139
|
+
try {
|
|
140
|
+
expectation.expect(this._positiveExpectations, this._negative, ...args);
|
|
141
|
+
return this._positiveExpectations;
|
|
142
|
+
} catch (error) {
|
|
143
|
+
if (error instanceof import_types.ExpectationError)
|
|
144
|
+
Error.captureStackTrace(error, fn);
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
Object.defineProperty(fn, "name", { value: key });
|
|
149
|
+
Object.defineProperty(this.prototype, key, { value: fn });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
var ExpectationsMatcherImpl = class {
|
|
154
|
+
_matchers;
|
|
155
|
+
_positiveBuilder;
|
|
156
|
+
_negativeBuilder;
|
|
157
|
+
_negative;
|
|
158
|
+
constructor(_matchers, _positiveBuilder) {
|
|
159
|
+
this._matchers = _matchers;
|
|
160
|
+
if (_positiveBuilder) {
|
|
161
|
+
this._negative = true;
|
|
162
|
+
this._positiveBuilder = _positiveBuilder;
|
|
163
|
+
this._negativeBuilder = this;
|
|
164
|
+
} else {
|
|
165
|
+
this._negative = false;
|
|
166
|
+
this._positiveBuilder = this;
|
|
167
|
+
this._negativeBuilder = new ExpectationsMatcherImpl(this._matchers, this);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
get not() {
|
|
171
|
+
return this._negative ? this._positiveBuilder : this._negativeBuilder;
|
|
172
|
+
}
|
|
173
|
+
expect(value) {
|
|
174
|
+
const expectations2 = new ExpectationsImpl(value);
|
|
175
|
+
for (const [expectation, negative, args] of this._matchers) {
|
|
176
|
+
expectations2.negated(negative)[expectation](...args);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
static {
|
|
180
|
+
Object.defineProperty(this.prototype, import_types.matcherMarker, { value: import_types.matcherMarker });
|
|
181
|
+
for (const key in expectations) {
|
|
182
|
+
Object.defineProperty(this.prototype, key, {
|
|
183
|
+
value: function(...args) {
|
|
184
|
+
return new ExpectationsMatcherImpl([
|
|
185
|
+
...this._matchers,
|
|
186
|
+
[key, this._negative, args]
|
|
187
|
+
]);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
var expect = (value) => {
|
|
194
|
+
return new ExpectationsImpl(value);
|
|
195
|
+
};
|
|
196
|
+
Object.defineProperty(expect, "not", {
|
|
197
|
+
get: () => new ExpectationsMatcherImpl([]).not
|
|
198
|
+
});
|
|
199
|
+
for (const name in expectations) {
|
|
200
|
+
Object.defineProperty(expect, name, {
|
|
201
|
+
value: function(...args) {
|
|
202
|
+
const builder = new ExpectationsMatcherImpl([]);
|
|
203
|
+
return builder[name](...args);
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
208
|
+
0 && (module.exports = {
|
|
209
|
+
expect
|
|
210
|
+
});
|
|
211
|
+
//# sourceMappingURL=expect.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/expectation/expect.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAChD,mBAgBO;AACP,qBAEO;AACP,sBAGO;AACP,kBAWO;AASP,IAAM,eAAe;AAAA;AAAA,EAEnB,OAAO,IAAI,mBAAM;AAAA,EACjB,aAAa,IAAI,yBAAY;AAAA,EAC7B,WAAW,IAAI,uBAAU;AAAA,EACzB,iBAAiB,IAAI,6BAAgB;AAAA,EACrC,wBAAwB,IAAI,oCAAuB;AAAA,EACnD,gBAAgB,IAAI,4BAAe;AAAA,EACnC,cAAc,IAAI,0BAAa;AAAA,EAC/B,qBAAqB,IAAI,iCAAoB;AAAA,EAC7C,iBAAiB,IAAI,6BAAgB;AAAA,EACrC,SAAS,IAAI,qBAAQ;AAAA,EACrB,cAAc,IAAI,0BAAa;AAAA,EAC/B,gBAAgB,IAAI,4BAAe;AAAA,EACnC,YAAY,IAAI,wBAAW;AAAA,EAC3B,SAAS,IAAI,qBAAQ;AAAA,EACrB,iBAAiB,IAAI,6BAAgB;AAAA;AAAA,EAGrC,WAAW,IAAI,yBAAU;AAAA,EACzB,iBAAiB,IAAI,+BAAgB;AAAA;AAAA,EAGrC,SAAS,IAAI,wBAAQ;AAAA,EACrB,cAAc,IAAI,6BAAa;AAAA;AAAA,EAG/B,aAAa,IAAI,wBAAY;AAAA,EAC7B,WAAW,IAAI,sBAAU;AAAA,EACzB,WAAW,IAAI,sBAAU;AAAA,EACzB,SAAS,IAAI,oBAAQ;AAAA,EACrB,sBAAsB,IAAI,iCAAqB;AAAA,EAC/C,UAAU,IAAI,qBAAS;AAAA,EACvB,sBAAsB,IAAI,iCAAqB;AAAA,EAC/C,UAAU,IAAI,qBAAS;AAAA,EACvB,YAAY,IAAI,uBAAW;AAAA,EAC3B,eAAe,IAAI,0BAAc;AACnC;AA2GA,IAAM,mBAAN,MAA+D;AAAA,EAK7D,YACoB,OAChB,uBACF;AAFkB;AAGlB,QAAI,uBAAuB;AACzB,WAAK,YAAY;AACjB,WAAK,wBAAwB;AAC7B,WAAK,wBAAwB;AAAA,IAC/B,OAAO;AACL,WAAK,YAAY;AACjB,WAAK,wBAAwB;AAC7B,WAAK,wBAAwB,IAAI,iBAAiB,OAAO,IAAI;AAAA,IAC/D;AAAA,EACF;AAAA,EAjBiB;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAmBjB,YAAY,MAAkD;AAC5D,SAAK,YAAY;AAEjB,UAAM,QAAQ,IAAI,iBAAkB,KAAK,MAAc,IAAI,CAAC;AAC5D,UAAM,SAAS,EAAE,SAAS,MAAM,KAAK;AACrC,WAAO;AAAA,EACT;AAAA,EAEA,SAAsB,OAA+B;AACnD,WAAO,IAAI,iBAAiB,KAAK;AAAA,EACnC;AAAA;AAAA,EAIA,QAAQ,UAAwC;AAC9C,WAAO,WAAW,KAAK,wBAAwB,KAAK;AAAA,EACtD;AAAA,EAEA,IAAI,MAA2B;AAC7B,WAAO,KAAK,YAAY,KAAK,wBAAwB,KAAK;AAAA,EAC5D;AAAA;AAAA,EAIA,aAAa,QAAmF;AAC9F,WAAO,QAAQ,QAAQ,EAClB,KAAK,MAAM;AACV,WAAK,sBAAsB,eAAe,QAAQ,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5E,aAAO,QAAQ,WAAW,CAAE,QAAQ,QAAQ,KAAK,KAAK,CAAE,CAAC;AAAA,IAC3D,CAAC,EACA,KAAK,CAAC,CAAE,UAAW,MAAM;AACxB,UAAI,WAAW,WAAW,aAAa;AACrC,YAAI,KAAK;AAAW,gBAAM,IAAI,8BAAiB,MAAM,MAAM,gBAAgB;AAC3E,YAAI;AAAQ,iBAAO,IAAI,iBAAiB,WAAW,KAAK,CAAC;AAAA,MAC3D,WAAW,CAAE,KAAK,WAAW;AAC3B,cAAM,IAAI,8BAAiB,MAAM,OAAO,gBAAgB;AAAA,MAC1D;AAEA,aAAO,KAAK;AAAA,IACd,CAAC;AAAA,EACP;AAAA,EAEA,aAAa,QAAmF;AAC9F,WAAO,QAAQ,QAAQ,EAClB,KAAK,MAAM;AACV,WAAK,sBAAsB,eAAe,QAAQ,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5E,aAAO,QAAQ,WAAW,CAAE,QAAQ,QAAQ,KAAK,KAAK,CAAE,CAAC;AAAA,IAC3D,CAAC,EACA,KAAK,CAAC,CAAE,UAAW,MAAM;AACxB,UAAI,WAAW,WAAW,YAAY;AACpC,YAAI,KAAK;AAAW,gBAAM,IAAI,8BAAiB,MAAM,MAAM,gBAAgB;AAC3E,YAAI;AAAQ,iBAAO,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,MAC5D,WAAW,CAAE,KAAK,WAAW;AAC3B,cAAM,IAAI,8BAAiB,MAAM,OAAO,gBAAgB;AAAA,MAC1D;AAEA,aAAO,KAAK;AAAA,IACd,CAAC;AAAA,EACP;AAAA,EAEA,yBACO,MAKyB;AAC9B,WAAO,KAAK,aAAa,CAAC,WAAW,OAAO,UAAU,GAAG,IAAI,CAAC;AAAA,EAChE;AAAA,EAIA,OAAO;AACL,eAAW,CAAE,KAAK,KAAM,KAAK,OAAO,QAAQ,YAAY,GAAG;AACzD,YAAM,cAAc;AAEpB,YAAM,KAAK,YAAoC,MAAkB;AAC/D,YAAI;AACF,sBAAY,OAAO,KAAK,uBAAuB,KAAK,WAAW,GAAG,IAAI;AACtE,iBAAO,KAAK;AAAA,QACd,SAAS,OAAP;AACA,cAAI,iBAAiB;AAAkB,kBAAM,kBAAkB,OAAO,EAAE;AACxE,gBAAM;AAAA,QACR;AAAA,MACF;AAEA,aAAO,eAAe,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC;AAChD,aAAO,eAAe,KAAK,WAAW,KAAK,EAAE,OAAO,GAAG,CAAC;AAAA,IAC1D;AAAA,EACF;AACF;AAyBA,IAAM,0BAAN,MAA8B;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEjB,YACI,WACA,kBACF;AACA,SAAK,YAAY;AACjB,QAAI,kBAAkB;AACpB,WAAK,YAAY;AACjB,WAAK,mBAAmB;AACxB,WAAK,mBAAmB;AAAA,IAC1B,OAAO;AACL,WAAK,YAAY;AACjB,WAAK,mBAAmB;AACxB,WAAK,mBAAmB,IAAI,wBAAwB,KAAK,WAAW,IAAI;AAAA,IAC1E;AAAA,EACF;AAAA,EAEA,IAAI,MAA+B;AACjC,WAAO,KAAK,YAAY,KAAK,mBAAmB,KAAK;AAAA,EACvD;AAAA,EAEA,OAAO,OAAsB;AAC3B,UAAMA,gBAAe,IAAI,iBAAiB,KAAK;AAC/C,eAAW,CAAE,aAAa,UAAU,IAAK,KAAK,KAAK,WAAW;AAC5D,MAACA,cAAa,QAAQ,QAAQ,EAAU,WAAW,EAAE,GAAG,IAAI;AAAA,IAC9D;AAAA,EACF;AAAA,EAIA,OAAO;AAEL,WAAO,eAAe,KAAK,WAAW,4BAAe,EAAE,OAAO,2BAAc,CAAC;AAG7E,eAAW,OAAO,cAAc;AAC9B,aAAO,eAAe,KAAK,WAAW,KAAK;AAAA,QACzC,OAAO,YAA2C,MAAkB;AAClE,iBAAO,IAAI,wBAAwB;AAAA,YACjC,GAAG,KAAK;AAAA,YAAW,CAAE,KAAK,KAAK,WAAW,IAAK;AAAA,UACjD,CAAC;AAAA,QACH;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAOO,IAAM,SAAU,CAAc,UAA8B;AACjE,SAAO,IAAI,iBAAiB,KAAK;AACnC;AAGA,OAAO,eAAe,QAAQ,OAAO;AAAA,EACnC,KAAK,MAAM,IAAI,wBAAwB,CAAC,CAAC,EAAE;AAC7C,CAAC;AAGD,WAAW,QAAQ,cAAc;AAC/B,SAAO,eAAe,QAAQ,MAAM;AAAA,IAClC,OAAO,YAAY,MAAkC;AACnD,YAAM,UAAU,IAAI,wBAAwB,CAAC,CAAC;AAC9C,aAAQ,QAAgB,IAAI,EAAE,GAAG,IAAI;AAAA,IACvC;AAAA,EACF,CAAC;AACH;",
|
|
5
|
+
"names": ["expectations"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { ToBeA, ToBeCloseTo, ToBeError, ToBeGreaterThan, ToBeGreaterThanOrEqual, ToBeInstanceOf, ToBeLessThan, ToBeLessThanOrEqual, ToBeWithinRange, ToEqual, ToHaveLength, ToHaveProperty, ToHaveSize, ToMatch, ToStrictlyEqual } from './basic';
|
|
2
|
+
import { ToInclude, ToMatchContents } from './include';
|
|
3
|
+
import { ToThrow, ToThrowError } from './throwing';
|
|
4
|
+
import { ToBeDefined, ToBeFalse, ToBeFalsy, ToBeNaN, ToBeNegativeInfinity, ToBeNull, ToBePositiveInfinity, ToBeTrue, ToBeTruthy, ToBeUndefined } from './void';
|
|
5
|
+
import type { Constructor, StringMatcher } from './types';
|
|
6
|
+
/** Singleton with all imported (known) expectations */
|
|
7
|
+
declare const expectations: {
|
|
8
|
+
readonly toBeA: ToBeA;
|
|
9
|
+
readonly toBeCloseTo: ToBeCloseTo;
|
|
10
|
+
readonly toBeError: ToBeError;
|
|
11
|
+
readonly toBeGreaterThan: ToBeGreaterThan;
|
|
12
|
+
readonly toBeGreaterThanOrEqual: ToBeGreaterThanOrEqual;
|
|
13
|
+
readonly toBeInstanceOf: ToBeInstanceOf;
|
|
14
|
+
readonly toBeLessThan: ToBeLessThan;
|
|
15
|
+
readonly toBeLessThanOrEqual: ToBeLessThanOrEqual;
|
|
16
|
+
readonly toBeWithinRange: ToBeWithinRange;
|
|
17
|
+
readonly toEqual: ToEqual;
|
|
18
|
+
readonly toHaveLength: ToHaveLength;
|
|
19
|
+
readonly toHaveProperty: ToHaveProperty;
|
|
20
|
+
readonly toHaveSize: ToHaveSize;
|
|
21
|
+
readonly toMatch: ToMatch;
|
|
22
|
+
readonly toStrictlyEqual: ToStrictlyEqual;
|
|
23
|
+
readonly toInclude: ToInclude;
|
|
24
|
+
readonly toMatchContents: ToMatchContents;
|
|
25
|
+
readonly toThrow: ToThrow;
|
|
26
|
+
readonly toThrowError: ToThrowError;
|
|
27
|
+
readonly toBeDefined: ToBeDefined;
|
|
28
|
+
readonly toBeFalse: ToBeFalse;
|
|
29
|
+
readonly toBeFalsy: ToBeFalsy;
|
|
30
|
+
readonly toBeNaN: ToBeNaN;
|
|
31
|
+
readonly toBeNegativeInfinity: ToBeNegativeInfinity;
|
|
32
|
+
readonly toBeNull: ToBeNull;
|
|
33
|
+
readonly toBePositiveInfinity: ToBePositiveInfinity;
|
|
34
|
+
readonly toBeTrue: ToBeTrue;
|
|
35
|
+
readonly toBeTruthy: ToBeTruthy;
|
|
36
|
+
readonly toBeUndefined: ToBeUndefined;
|
|
37
|
+
};
|
|
38
|
+
/** The type of our imported expectations */
|
|
39
|
+
type ExpectationsByName = typeof expectations;
|
|
40
|
+
/** Infer expectations parameter from {@link Expectation} type */
|
|
41
|
+
type ExpectationParameters<E> = E extends Expectation ? Parameters<E['expect']> extends [any, any, ...infer P] ? P : never : never;
|
|
42
|
+
/** Infer return parameter from {@link Expectation} type */
|
|
43
|
+
type ExpectationReturn<E, T> = E extends Expectation ? Expectations<T> : never;
|
|
44
|
+
/** Infer expectation functions from imported {@link Expectation} instances */
|
|
45
|
+
type ImportedExpectations<T = unknown> = {
|
|
46
|
+
[k in keyof ExpectationsByName]: (...args: ExpectationParameters<ExpectationsByName[k]>) => ExpectationReturn<ExpectationsByName[k], T>;
|
|
47
|
+
};
|
|
48
|
+
/** An interface describing all expectations returned by `expect(...)` */
|
|
49
|
+
export interface Expectations<T = unknown> extends ImportedExpectations<T> {
|
|
50
|
+
/**
|
|
51
|
+
* The parent of this instance, if and only if this is a child derived from
|
|
52
|
+
* a property of the parent instance's value.
|
|
53
|
+
*/
|
|
54
|
+
parent?: ExpectationsParent;
|
|
55
|
+
/** The value this {@link Expectations} instance operates on */
|
|
56
|
+
value: T;
|
|
57
|
+
/** The _negated_ expectations of _this_ {@link Expectations} instance. */
|
|
58
|
+
not: Expectations<T>;
|
|
59
|
+
/**
|
|
60
|
+
* Programmatically return _positive_ or _negative_ {@link Expectations}
|
|
61
|
+
* for the value wrapped by this instance.
|
|
62
|
+
*/
|
|
63
|
+
negated(negative: boolean): Expectations<T>;
|
|
64
|
+
/** Create an {@link Expectations} associated with a property of this value */
|
|
65
|
+
forProperty(prop: string | number | symbol): Expectations;
|
|
66
|
+
/** Create a new {@link Expectations} instance for the specified value */
|
|
67
|
+
forValue<T = unknown>(value: T): Expectations<T>;
|
|
68
|
+
/** Expect the value to be a _resolved_ {@link Promise} */
|
|
69
|
+
toBeResolved(): Promise<ExpectationsImpl<T>>;
|
|
70
|
+
/**
|
|
71
|
+
* Expect the value to be a _resolved_ {@link Promise}, and assert the
|
|
72
|
+
* resolved result with the specified callback
|
|
73
|
+
*/
|
|
74
|
+
toBeResolved(assert: (resultExpectations: Expectations) => void): Promise<ExpectationsImpl<T>>;
|
|
75
|
+
/** Expect the value to be a _rejected_ {@link Promise} */
|
|
76
|
+
toBeRejected(): Promise<ExpectationsImpl<T>>;
|
|
77
|
+
/**
|
|
78
|
+
* Expect the value to be a _rejected_ {@link Promise}, and assert the
|
|
79
|
+
* rejected reason with the specified callback
|
|
80
|
+
*/
|
|
81
|
+
toBeRejected(assert?: (rejectionExpectations: Expectations) => void): Promise<ExpectationsImpl<T>>;
|
|
82
|
+
/** Expect the value to be a {@link Promise} _rejected_ by an {@link Error} */
|
|
83
|
+
toBeRejectedWithError(): Promise<Expectations<T>>;
|
|
84
|
+
/**
|
|
85
|
+
* Expect the value to be a {@link Promise} _rejected_ by an {@link Error}
|
|
86
|
+
* with the specified _message_
|
|
87
|
+
*/
|
|
88
|
+
toBeRejectedWithError(message: StringMatcher): Promise<Expectations<T>>;
|
|
89
|
+
/**
|
|
90
|
+
* Expect the value to be a {@link Promise} _rejected_ by an {@link Error}
|
|
91
|
+
* of the specified _type_
|
|
92
|
+
*/
|
|
93
|
+
toBeRejectedWithError(constructor: Constructor<Error>): Promise<Expectations<T>>;
|
|
94
|
+
/**
|
|
95
|
+
* Expect the value to be a {@link Promise} _rejected_ by an {@link Error}
|
|
96
|
+
* of the specified _type_ and with the specified _message_
|
|
97
|
+
*/
|
|
98
|
+
toBeRejectedWithError(constructor: Constructor<Error>, message: StringMatcher): Promise<Expectations<T>>;
|
|
99
|
+
}
|
|
100
|
+
/** Parent expectations */
|
|
101
|
+
export interface ExpectationsParent {
|
|
102
|
+
context: Expectations;
|
|
103
|
+
prop: string | number | symbol;
|
|
104
|
+
}
|
|
105
|
+
/** Basic definition of an {@link Expectation} as an object */
|
|
106
|
+
export interface Expectation {
|
|
107
|
+
expect(context: Expectations, negative: boolean, ...args: any[]): void;
|
|
108
|
+
}
|
|
109
|
+
/** Empty interface: the `class` below won't complain about missing stuff */
|
|
110
|
+
interface ExpectationsImpl<T = unknown> extends Expectations<T> {
|
|
111
|
+
}
|
|
112
|
+
/** Implementation of our {@link Expectations} interface */
|
|
113
|
+
declare class ExpectationsImpl<T = unknown> implements Expectations<T> {
|
|
114
|
+
readonly value: T;
|
|
115
|
+
private readonly _positiveExpectations;
|
|
116
|
+
private readonly _negativeExpectations;
|
|
117
|
+
private readonly _negative;
|
|
118
|
+
constructor(value: T, _positiveExpectations?: ExpectationsImpl<T>);
|
|
119
|
+
forProperty(prop: string | number | symbol): ExpectationsImpl;
|
|
120
|
+
forValue<T = unknown>(value: T): ExpectationsImpl<T>;
|
|
121
|
+
negated(negative: boolean): ExpectationsImpl<T>;
|
|
122
|
+
get not(): ExpectationsImpl<T>;
|
|
123
|
+
toBeResolved(assert?: (resultExpectations: Expectations) => void): Promise<ExpectationsImpl<T>>;
|
|
124
|
+
toBeRejected(assert?: (reasonExpectations: Expectations) => void): Promise<ExpectationsImpl<T>>;
|
|
125
|
+
toBeRejectedWithError(...args: [] | [message: StringMatcher] | [constructor: Constructor<Error>] | [constructor: Constructor<Error>, message: StringMatcher]): Promise<ExpectationsImpl<T>>;
|
|
126
|
+
}
|
|
127
|
+
/** Infer return parameter from {@link Expectation} type */
|
|
128
|
+
type MatcherReturn<E> = E extends Expectation ? ExpectationsMatcher : never;
|
|
129
|
+
/** Infer expectation functions from imported {@link Expectation} instances */
|
|
130
|
+
type ImportedMatchers = {
|
|
131
|
+
[k in keyof ExpectationsByName]: (...args: ExpectationParameters<ExpectationsByName[k]>) => MatcherReturn<ExpectationsByName[k]>;
|
|
132
|
+
};
|
|
133
|
+
/** An interface describing all expectations returned by `expect(...)` */
|
|
134
|
+
export interface ExpectationsMatcher extends ImportedMatchers {
|
|
135
|
+
not: ExpectationsMatcher;
|
|
136
|
+
expect(value: unknown): void;
|
|
137
|
+
}
|
|
138
|
+
/** The `expect` function exposing expectations and matchers */
|
|
139
|
+
export declare const expect: ExpectationsMatcher & (<T = unknown>(value: T) => Expectations<T>);
|
|
140
|
+
export {};
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
// expectation/expect.ts
|
|
2
|
+
import { ExpectationError, matcherMarker } from "./types.mjs";
|
|
3
|
+
import {
|
|
4
|
+
ToBeA,
|
|
5
|
+
ToBeCloseTo,
|
|
6
|
+
ToBeError,
|
|
7
|
+
ToBeGreaterThan,
|
|
8
|
+
ToBeGreaterThanOrEqual,
|
|
9
|
+
ToBeInstanceOf,
|
|
10
|
+
ToBeLessThan,
|
|
11
|
+
ToBeLessThanOrEqual,
|
|
12
|
+
ToBeWithinRange,
|
|
13
|
+
ToEqual,
|
|
14
|
+
ToHaveLength,
|
|
15
|
+
ToHaveProperty,
|
|
16
|
+
ToHaveSize,
|
|
17
|
+
ToMatch,
|
|
18
|
+
ToStrictlyEqual
|
|
19
|
+
} from "./basic.mjs";
|
|
20
|
+
import {
|
|
21
|
+
ToInclude,
|
|
22
|
+
ToMatchContents
|
|
23
|
+
} from "./include.mjs";
|
|
24
|
+
import {
|
|
25
|
+
ToThrow,
|
|
26
|
+
ToThrowError
|
|
27
|
+
} from "./throwing.mjs";
|
|
28
|
+
import {
|
|
29
|
+
ToBeDefined,
|
|
30
|
+
ToBeFalse,
|
|
31
|
+
ToBeFalsy,
|
|
32
|
+
ToBeNaN,
|
|
33
|
+
ToBeNegativeInfinity,
|
|
34
|
+
ToBeNull,
|
|
35
|
+
ToBePositiveInfinity,
|
|
36
|
+
ToBeTrue,
|
|
37
|
+
ToBeTruthy,
|
|
38
|
+
ToBeUndefined
|
|
39
|
+
} from "./void.mjs";
|
|
40
|
+
var expectations = {
|
|
41
|
+
// basic expectations
|
|
42
|
+
toBeA: new ToBeA(),
|
|
43
|
+
toBeCloseTo: new ToBeCloseTo(),
|
|
44
|
+
toBeError: new ToBeError(),
|
|
45
|
+
toBeGreaterThan: new ToBeGreaterThan(),
|
|
46
|
+
toBeGreaterThanOrEqual: new ToBeGreaterThanOrEqual(),
|
|
47
|
+
toBeInstanceOf: new ToBeInstanceOf(),
|
|
48
|
+
toBeLessThan: new ToBeLessThan(),
|
|
49
|
+
toBeLessThanOrEqual: new ToBeLessThanOrEqual(),
|
|
50
|
+
toBeWithinRange: new ToBeWithinRange(),
|
|
51
|
+
toEqual: new ToEqual(),
|
|
52
|
+
toHaveLength: new ToHaveLength(),
|
|
53
|
+
toHaveProperty: new ToHaveProperty(),
|
|
54
|
+
toHaveSize: new ToHaveSize(),
|
|
55
|
+
toMatch: new ToMatch(),
|
|
56
|
+
toStrictlyEqual: new ToStrictlyEqual(),
|
|
57
|
+
// include
|
|
58
|
+
toInclude: new ToInclude(),
|
|
59
|
+
toMatchContents: new ToMatchContents(),
|
|
60
|
+
// throwing
|
|
61
|
+
toThrow: new ToThrow(),
|
|
62
|
+
toThrowError: new ToThrowError(),
|
|
63
|
+
// void expectations
|
|
64
|
+
toBeDefined: new ToBeDefined(),
|
|
65
|
+
toBeFalse: new ToBeFalse(),
|
|
66
|
+
toBeFalsy: new ToBeFalsy(),
|
|
67
|
+
toBeNaN: new ToBeNaN(),
|
|
68
|
+
toBeNegativeInfinity: new ToBeNegativeInfinity(),
|
|
69
|
+
toBeNull: new ToBeNull(),
|
|
70
|
+
toBePositiveInfinity: new ToBePositiveInfinity(),
|
|
71
|
+
toBeTrue: new ToBeTrue(),
|
|
72
|
+
toBeTruthy: new ToBeTruthy(),
|
|
73
|
+
toBeUndefined: new ToBeUndefined()
|
|
74
|
+
};
|
|
75
|
+
var ExpectationsImpl = class {
|
|
76
|
+
constructor(value, _positiveExpectations) {
|
|
77
|
+
this.value = value;
|
|
78
|
+
if (_positiveExpectations) {
|
|
79
|
+
this._negative = true;
|
|
80
|
+
this._positiveExpectations = _positiveExpectations;
|
|
81
|
+
this._negativeExpectations = this;
|
|
82
|
+
} else {
|
|
83
|
+
this._negative = false;
|
|
84
|
+
this._positiveExpectations = this;
|
|
85
|
+
this._negativeExpectations = new ExpectationsImpl(value, this);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
_positiveExpectations;
|
|
89
|
+
_negativeExpectations;
|
|
90
|
+
_negative;
|
|
91
|
+
/* == NEW EXPECTATIONS ==================================================== */
|
|
92
|
+
forProperty(prop) {
|
|
93
|
+
this.toBeDefined();
|
|
94
|
+
const child = new ExpectationsImpl(this.value[prop]);
|
|
95
|
+
child.parent = { context: this, prop };
|
|
96
|
+
return child;
|
|
97
|
+
}
|
|
98
|
+
forValue(value) {
|
|
99
|
+
return new ExpectationsImpl(value);
|
|
100
|
+
}
|
|
101
|
+
/* == NEGATION ============================================================ */
|
|
102
|
+
negated(negative) {
|
|
103
|
+
return negative ? this._negativeExpectations : this._positiveExpectations;
|
|
104
|
+
}
|
|
105
|
+
get not() {
|
|
106
|
+
return this._negative ? this._positiveExpectations : this._negativeExpectations;
|
|
107
|
+
}
|
|
108
|
+
/* == ASYNCHRONOUS EXPECTATIONS =========================================== */
|
|
109
|
+
toBeResolved(assert) {
|
|
110
|
+
return Promise.resolve().then(() => {
|
|
111
|
+
this._positiveExpectations.toHaveProperty("then", (a) => a.toBeA("function"));
|
|
112
|
+
return Promise.allSettled([Promise.resolve(this.value)]);
|
|
113
|
+
}).then(([settlement]) => {
|
|
114
|
+
if (settlement.status === "fulfilled") {
|
|
115
|
+
if (this._negative)
|
|
116
|
+
throw new ExpectationError(this, true, "to be resolved");
|
|
117
|
+
if (assert)
|
|
118
|
+
assert(new ExpectationsImpl(settlement.value));
|
|
119
|
+
} else if (!this._negative) {
|
|
120
|
+
throw new ExpectationError(this, false, "to be resolved");
|
|
121
|
+
}
|
|
122
|
+
return this._positiveExpectations;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
toBeRejected(assert) {
|
|
126
|
+
return Promise.resolve().then(() => {
|
|
127
|
+
this._positiveExpectations.toHaveProperty("then", (a) => a.toBeA("function"));
|
|
128
|
+
return Promise.allSettled([Promise.resolve(this.value)]);
|
|
129
|
+
}).then(([settlement]) => {
|
|
130
|
+
if (settlement.status === "rejected") {
|
|
131
|
+
if (this._negative)
|
|
132
|
+
throw new ExpectationError(this, true, "to be rejected");
|
|
133
|
+
if (assert)
|
|
134
|
+
assert(new ExpectationsImpl(settlement.reason));
|
|
135
|
+
} else if (!this._negative) {
|
|
136
|
+
throw new ExpectationError(this, false, "to be rejected");
|
|
137
|
+
}
|
|
138
|
+
return this._positiveExpectations;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
toBeRejectedWithError(...args) {
|
|
142
|
+
return this.toBeRejected((assert) => assert.toBeError(...args));
|
|
143
|
+
}
|
|
144
|
+
static {
|
|
145
|
+
for (const [key, value] of Object.entries(expectations)) {
|
|
146
|
+
const expectation = value;
|
|
147
|
+
const fn = function(...args) {
|
|
148
|
+
try {
|
|
149
|
+
expectation.expect(this._positiveExpectations, this._negative, ...args);
|
|
150
|
+
return this._positiveExpectations;
|
|
151
|
+
} catch (error) {
|
|
152
|
+
if (error instanceof ExpectationError)
|
|
153
|
+
Error.captureStackTrace(error, fn);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
Object.defineProperty(fn, "name", { value: key });
|
|
158
|
+
Object.defineProperty(this.prototype, key, { value: fn });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
var ExpectationsMatcherImpl = class {
|
|
163
|
+
_matchers;
|
|
164
|
+
_positiveBuilder;
|
|
165
|
+
_negativeBuilder;
|
|
166
|
+
_negative;
|
|
167
|
+
constructor(_matchers, _positiveBuilder) {
|
|
168
|
+
this._matchers = _matchers;
|
|
169
|
+
if (_positiveBuilder) {
|
|
170
|
+
this._negative = true;
|
|
171
|
+
this._positiveBuilder = _positiveBuilder;
|
|
172
|
+
this._negativeBuilder = this;
|
|
173
|
+
} else {
|
|
174
|
+
this._negative = false;
|
|
175
|
+
this._positiveBuilder = this;
|
|
176
|
+
this._negativeBuilder = new ExpectationsMatcherImpl(this._matchers, this);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
get not() {
|
|
180
|
+
return this._negative ? this._positiveBuilder : this._negativeBuilder;
|
|
181
|
+
}
|
|
182
|
+
expect(value) {
|
|
183
|
+
const expectations2 = new ExpectationsImpl(value);
|
|
184
|
+
for (const [expectation, negative, args] of this._matchers) {
|
|
185
|
+
expectations2.negated(negative)[expectation](...args);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
static {
|
|
189
|
+
Object.defineProperty(this.prototype, matcherMarker, { value: matcherMarker });
|
|
190
|
+
for (const key in expectations) {
|
|
191
|
+
Object.defineProperty(this.prototype, key, {
|
|
192
|
+
value: function(...args) {
|
|
193
|
+
return new ExpectationsMatcherImpl([
|
|
194
|
+
...this._matchers,
|
|
195
|
+
[key, this._negative, args]
|
|
196
|
+
]);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
var expect = (value) => {
|
|
203
|
+
return new ExpectationsImpl(value);
|
|
204
|
+
};
|
|
205
|
+
Object.defineProperty(expect, "not", {
|
|
206
|
+
get: () => new ExpectationsMatcherImpl([]).not
|
|
207
|
+
});
|
|
208
|
+
for (const name in expectations) {
|
|
209
|
+
Object.defineProperty(expect, name, {
|
|
210
|
+
value: function(...args) {
|
|
211
|
+
const builder = new ExpectationsMatcherImpl([]);
|
|
212
|
+
return builder[name](...args);
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
export {
|
|
217
|
+
expect
|
|
218
|
+
};
|
|
219
|
+
//# sourceMappingURL=expect.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/expectation/expect.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["expectations"]
|
|
6
|
+
}
|