@plugjs/expect5 0.5.34 → 0.5.36
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/dist/cli.mjs +1 -1
- package/dist/expectation/diff.cjs +23 -7
- package/dist/expectation/diff.cjs.map +1 -1
- package/dist/expectation/diff.d.ts +1 -1
- package/dist/expectation/diff.mjs +23 -7
- package/dist/expectation/diff.mjs.map +1 -1
- package/dist/expectation/expectations.cjs +35 -9
- package/dist/expectation/expectations.cjs.map +1 -1
- package/dist/expectation/expectations.d.ts +31 -3
- package/dist/expectation/expectations.mjs +35 -9
- package/dist/expectation/expectations.mjs.map +1 -1
- package/package.json +3 -3
- package/src/expectation/diff.ts +30 -8
- package/src/expectation/expectations.ts +54 -9
package/dist/cli.mjs
CHANGED
|
@@ -8,7 +8,7 @@ var { $blu, $und, $gry, $wht } = logging;
|
|
|
8
8
|
var $gnd = (s) => $gry($und(s));
|
|
9
9
|
var $bnd = (s) => $blu($und(s));
|
|
10
10
|
var $wnd = (s) => $wht($und(s));
|
|
11
|
-
var version = true ? "0.5.
|
|
11
|
+
var version = true ? "0.5.36" : "0.0.0-dev";
|
|
12
12
|
function help() {
|
|
13
13
|
console.log(`${$blu($und("Usage:"))}
|
|
14
14
|
|
|
@@ -24,6 +24,15 @@ __export(diff_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(diff_exports);
|
|
26
26
|
var import_types = require("./types.cjs");
|
|
27
|
+
function findEnumerableKeys(...objects) {
|
|
28
|
+
const keys = /* @__PURE__ */ new Set();
|
|
29
|
+
for (const object of objects) {
|
|
30
|
+
for (const key in object) {
|
|
31
|
+
keys.add(key);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return keys;
|
|
35
|
+
}
|
|
27
36
|
function isSameNumberOrBothNaN(a, b) {
|
|
28
37
|
return a === b ? true : isNaN(a) ? isNaN(b) : false;
|
|
29
38
|
}
|
|
@@ -33,7 +42,7 @@ function errorDiff(value, message) {
|
|
|
33
42
|
}
|
|
34
43
|
function objectDiff(actual, expected, remarks, keys) {
|
|
35
44
|
if (!keys)
|
|
36
|
-
keys =
|
|
45
|
+
keys = findEnumerableKeys(actual, expected);
|
|
37
46
|
if (!keys.size)
|
|
38
47
|
return { diff: false, value: actual };
|
|
39
48
|
let diff2 = false;
|
|
@@ -42,7 +51,9 @@ function objectDiff(actual, expected, remarks, keys) {
|
|
|
42
51
|
const act = actual[key];
|
|
43
52
|
const exp = expected[key];
|
|
44
53
|
let result;
|
|
45
|
-
if (
|
|
54
|
+
if (act === void 0 && exp === void 0 && !(key in expected) && !remarks.strict) {
|
|
55
|
+
result = { diff: false, value: void 0 };
|
|
56
|
+
} else if (key in expected && !(key in actual)) {
|
|
46
57
|
result = { diff: true, missing: exp };
|
|
47
58
|
} else if (key in actual && !(key in expected)) {
|
|
48
59
|
result = { diff: true, extra: act };
|
|
@@ -58,7 +69,7 @@ function arrayDiff(actual, expected, remarks) {
|
|
|
58
69
|
if (actual.length !== expected.length) {
|
|
59
70
|
return errorDiff(actual, `to have length ${expected.length} (length=${actual.length})`);
|
|
60
71
|
}
|
|
61
|
-
const keys =
|
|
72
|
+
const keys = findEnumerableKeys(actual, expected);
|
|
62
73
|
let valuesDiff = false;
|
|
63
74
|
const values = new Array(expected.length);
|
|
64
75
|
for (let i = 0; i < expected.length; i++) {
|
|
@@ -117,7 +128,12 @@ function binaryDiff(actual, expected, actualData, expectedData, remarks) {
|
|
|
117
128
|
if (actualData.length !== expectedData.length) {
|
|
118
129
|
return errorDiff(actual, `to have length ${expectedData.length} (length=${actualData.length})`);
|
|
119
130
|
}
|
|
120
|
-
const keys =
|
|
131
|
+
const keys = findEnumerableKeys(actual, expected);
|
|
132
|
+
if (actual instanceof Buffer) {
|
|
133
|
+
for (const key in Buffer.prototype) {
|
|
134
|
+
keys.delete(key);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
121
137
|
const length = expectedData.length;
|
|
122
138
|
for (let i = 0; i < length; i++) {
|
|
123
139
|
keys.delete(String(i));
|
|
@@ -145,7 +161,7 @@ function primitiveDiff(actual, expected, remarks) {
|
|
|
145
161
|
expected
|
|
146
162
|
};
|
|
147
163
|
}
|
|
148
|
-
const keys =
|
|
164
|
+
const keys = findEnumerableKeys(actual, expected);
|
|
149
165
|
if (actual instanceof String) {
|
|
150
166
|
const length = actual.valueOf().length;
|
|
151
167
|
for (let i = 0; i < length; i++) {
|
|
@@ -247,8 +263,8 @@ function diffValues(actual, expected, remarks) {
|
|
|
247
263
|
objectDiff(actual, expected, remarks)
|
|
248
264
|
);
|
|
249
265
|
}
|
|
250
|
-
function diff(actual, expected) {
|
|
251
|
-
return diffValues(actual, expected, { actualMemos: [], expectedMemos: [] });
|
|
266
|
+
function diff(actual, expected, strict = false) {
|
|
267
|
+
return diffValues(actual, expected, { actualMemos: [], expectedMemos: [], strict });
|
|
252
268
|
}
|
|
253
269
|
// Annotate the CommonJS export names for ESM import in node:
|
|
254
270
|
0 && (module.exports = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/expectation/diff.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAKO;AAqDP,SAAS,sBAAsB,GAAW,GAAoB;AAC5D,SAAO,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;AAChD;AAIA,SAAS,UAAU,OAAY,SAA4B;AACzD,QAAM,QAAQ,gBAAY,6BAAe,KAAK,CAAC,IAAI,OAAO;AAC1D,SAAO,EAAE,MAAM,MAAM,OAAO,MAAM;AACpC;AAIA,SAAS,WACL,QACA,UACA,SACA,MACsB;AAExB,MAAI,CAAE;AAAM,WAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["diff", "result"]
|
|
6
6
|
}
|
|
@@ -24,4 +24,4 @@ export interface ObjectDiff extends ValueDiff {
|
|
|
24
24
|
mappings?: [any, Diff][];
|
|
25
25
|
}
|
|
26
26
|
export type Diff = ValueDiff | ExpectedDiff | ObjectDiff | ExtraValueDiff | MissingValueDiff;
|
|
27
|
-
export declare function diff(actual: any, expected: any): Diff;
|
|
27
|
+
export declare function diff(actual: any, expected: any, strict?: boolean): Diff;
|
|
@@ -5,6 +5,15 @@ import {
|
|
|
5
5
|
stringifyConstructor,
|
|
6
6
|
stringifyValue
|
|
7
7
|
} from "./types.mjs";
|
|
8
|
+
function findEnumerableKeys(...objects) {
|
|
9
|
+
const keys = /* @__PURE__ */ new Set();
|
|
10
|
+
for (const object of objects) {
|
|
11
|
+
for (const key in object) {
|
|
12
|
+
keys.add(key);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return keys;
|
|
16
|
+
}
|
|
8
17
|
function isSameNumberOrBothNaN(a, b) {
|
|
9
18
|
return a === b ? true : isNaN(a) ? isNaN(b) : false;
|
|
10
19
|
}
|
|
@@ -14,7 +23,7 @@ function errorDiff(value, message) {
|
|
|
14
23
|
}
|
|
15
24
|
function objectDiff(actual, expected, remarks, keys) {
|
|
16
25
|
if (!keys)
|
|
17
|
-
keys =
|
|
26
|
+
keys = findEnumerableKeys(actual, expected);
|
|
18
27
|
if (!keys.size)
|
|
19
28
|
return { diff: false, value: actual };
|
|
20
29
|
let diff2 = false;
|
|
@@ -23,7 +32,9 @@ function objectDiff(actual, expected, remarks, keys) {
|
|
|
23
32
|
const act = actual[key];
|
|
24
33
|
const exp = expected[key];
|
|
25
34
|
let result;
|
|
26
|
-
if (
|
|
35
|
+
if (act === void 0 && exp === void 0 && !(key in expected) && !remarks.strict) {
|
|
36
|
+
result = { diff: false, value: void 0 };
|
|
37
|
+
} else if (key in expected && !(key in actual)) {
|
|
27
38
|
result = { diff: true, missing: exp };
|
|
28
39
|
} else if (key in actual && !(key in expected)) {
|
|
29
40
|
result = { diff: true, extra: act };
|
|
@@ -39,7 +50,7 @@ function arrayDiff(actual, expected, remarks) {
|
|
|
39
50
|
if (actual.length !== expected.length) {
|
|
40
51
|
return errorDiff(actual, `to have length ${expected.length} (length=${actual.length})`);
|
|
41
52
|
}
|
|
42
|
-
const keys =
|
|
53
|
+
const keys = findEnumerableKeys(actual, expected);
|
|
43
54
|
let valuesDiff = false;
|
|
44
55
|
const values = new Array(expected.length);
|
|
45
56
|
for (let i = 0; i < expected.length; i++) {
|
|
@@ -98,7 +109,12 @@ function binaryDiff(actual, expected, actualData, expectedData, remarks) {
|
|
|
98
109
|
if (actualData.length !== expectedData.length) {
|
|
99
110
|
return errorDiff(actual, `to have length ${expectedData.length} (length=${actualData.length})`);
|
|
100
111
|
}
|
|
101
|
-
const keys =
|
|
112
|
+
const keys = findEnumerableKeys(actual, expected);
|
|
113
|
+
if (actual instanceof Buffer) {
|
|
114
|
+
for (const key in Buffer.prototype) {
|
|
115
|
+
keys.delete(key);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
102
118
|
const length = expectedData.length;
|
|
103
119
|
for (let i = 0; i < length; i++) {
|
|
104
120
|
keys.delete(String(i));
|
|
@@ -126,7 +142,7 @@ function primitiveDiff(actual, expected, remarks) {
|
|
|
126
142
|
expected
|
|
127
143
|
};
|
|
128
144
|
}
|
|
129
|
-
const keys =
|
|
145
|
+
const keys = findEnumerableKeys(actual, expected);
|
|
130
146
|
if (actual instanceof String) {
|
|
131
147
|
const length = actual.valueOf().length;
|
|
132
148
|
for (let i = 0; i < length; i++) {
|
|
@@ -228,8 +244,8 @@ function diffValues(actual, expected, remarks) {
|
|
|
228
244
|
objectDiff(actual, expected, remarks)
|
|
229
245
|
);
|
|
230
246
|
}
|
|
231
|
-
function diff(actual, expected) {
|
|
232
|
-
return diffValues(actual, expected, { actualMemos: [], expectedMemos: [] });
|
|
247
|
+
function diff(actual, expected, strict = false) {
|
|
248
|
+
return diffValues(actual, expected, { actualMemos: [], expectedMemos: [], strict });
|
|
233
249
|
}
|
|
234
250
|
export {
|
|
235
251
|
diff
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/expectation/diff.ts"],
|
|
4
|
-
"mappings": ";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAqDP,SAAS,sBAAsB,GAAW,GAAoB;AAC5D,SAAO,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;AAChD;AAIA,SAAS,UAAU,OAAY,SAA4B;AACzD,QAAM,QAAQ,YAAY,eAAe,KAAK,CAAC,IAAI,OAAO;AAC1D,SAAO,EAAE,MAAM,MAAM,OAAO,MAAM;AACpC;AAIA,SAAS,WACL,QACA,UACA,SACA,MACsB;AAExB,MAAI,CAAE;AAAM,WAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["diff", "result"]
|
|
6
6
|
}
|
|
@@ -266,12 +266,25 @@ var Expectations = class _Expectations {
|
|
|
266
266
|
/**
|
|
267
267
|
* Expects the value to be _deep equal to_ the specified expected one.
|
|
268
268
|
*
|
|
269
|
+
* When `strict` is `true` (defaults to `false`) enumerable keys associated
|
|
270
|
+
* with an `undefined` value found in the _actual_ object will have to be
|
|
271
|
+
* also defined in the _expected_ object.
|
|
272
|
+
*
|
|
273
|
+
* For example:
|
|
274
|
+
*
|
|
275
|
+
* ```ts
|
|
276
|
+
* expect({ foo: undefined }).toEqual({}) // will pass
|
|
277
|
+
* expect({ foo: undefined }).toEqual({}, true) // will fail ("foo" is extra)
|
|
278
|
+
* expect({ foo: undefined }).toEqual({ foo: undefined }, true) // will pass
|
|
279
|
+
* expect({}).toEqual({ foo: undefined }) // will fail ("foo" is missing, whether "strict" is true or false)
|
|
280
|
+
* ```
|
|
281
|
+
*
|
|
269
282
|
* Negation: {@link NegativeExpectations.toEqual `not.toEqual(...)`}
|
|
270
283
|
*/
|
|
271
|
-
toEqual(expected) {
|
|
284
|
+
toEqual(expected, strict = false) {
|
|
272
285
|
if (this.value === expected)
|
|
273
286
|
return this;
|
|
274
|
-
const result = (0, import_diff.diff)(this.value, expected);
|
|
287
|
+
const result = (0, import_diff.diff)(this.value, expected, strict);
|
|
275
288
|
if (result.diff) {
|
|
276
289
|
if ((0, import_types.isMatcher)(expected)) {
|
|
277
290
|
this._fail("to satisfy expectation matcher", result);
|
|
@@ -302,7 +315,13 @@ var Expectations = class _Expectations {
|
|
|
302
315
|
toHaveProperty(property, assertionOrMatcher) {
|
|
303
316
|
this.toBeDefined();
|
|
304
317
|
const propertyValue = this.value[property];
|
|
305
|
-
|
|
318
|
+
let hasProperty;
|
|
319
|
+
try {
|
|
320
|
+
hasProperty = property in this.value;
|
|
321
|
+
} catch (error) {
|
|
322
|
+
hasProperty = propertyValue !== void 0;
|
|
323
|
+
}
|
|
324
|
+
if (!hasProperty) {
|
|
306
325
|
this._fail(`to have property "${String(property)}"`);
|
|
307
326
|
}
|
|
308
327
|
if (assertionOrMatcher) {
|
|
@@ -324,6 +343,8 @@ var Expectations = class _Expectations {
|
|
|
324
343
|
}
|
|
325
344
|
throw error;
|
|
326
345
|
}
|
|
346
|
+
} else if (propertyValue === void 0) {
|
|
347
|
+
this._fail(`has property "${String(property)}" with value ${(0, import_types.stringifyValue)(void 0)}`);
|
|
327
348
|
}
|
|
328
349
|
return this;
|
|
329
350
|
}
|
|
@@ -493,10 +514,10 @@ var NegativeExpectations = class {
|
|
|
493
514
|
*
|
|
494
515
|
* Negates: {@link Expectations.toEqual `toEqual(...)`}
|
|
495
516
|
*/
|
|
496
|
-
toEqual(expected) {
|
|
517
|
+
toEqual(expected, strict = false) {
|
|
497
518
|
let result = { diff: false, value: this._value };
|
|
498
519
|
if (this._value !== expected) {
|
|
499
|
-
result = (0, import_diff.diff)(this._value, expected);
|
|
520
|
+
result = (0, import_diff.diff)(this._value, expected, strict);
|
|
500
521
|
if (result.diff)
|
|
501
522
|
return this._expectations;
|
|
502
523
|
}
|
|
@@ -531,10 +552,15 @@ var NegativeExpectations = class {
|
|
|
531
552
|
*/
|
|
532
553
|
toHaveProperty(property) {
|
|
533
554
|
this._expectations.toBeDefined();
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
555
|
+
let hasProperty;
|
|
556
|
+
try {
|
|
557
|
+
hasProperty = property in this._value;
|
|
558
|
+
} catch (error) {
|
|
559
|
+
hasProperty = this._value[property] !== void 0;
|
|
560
|
+
}
|
|
561
|
+
if (hasProperty)
|
|
562
|
+
this._fail(`not to have property "${String(property)}"`);
|
|
563
|
+
return this._expectations;
|
|
538
564
|
}
|
|
539
565
|
/* ------------------------------------------------------------------------ */
|
|
540
566
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/expectation/expectations.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["diff"]
|
|
6
6
|
}
|
|
@@ -253,9 +253,22 @@ export declare class Expectations<T = unknown> {
|
|
|
253
253
|
/**
|
|
254
254
|
* Expects the value to be _deep equal to_ the specified expected one.
|
|
255
255
|
*
|
|
256
|
+
* When `strict` is `true` (defaults to `false`) enumerable keys associated
|
|
257
|
+
* with an `undefined` value found in the _actual_ object will have to be
|
|
258
|
+
* also defined in the _expected_ object.
|
|
259
|
+
*
|
|
260
|
+
* For example:
|
|
261
|
+
*
|
|
262
|
+
* ```ts
|
|
263
|
+
* expect({ foo: undefined }).toEqual({}) // will pass
|
|
264
|
+
* expect({ foo: undefined }).toEqual({}, true) // will fail ("foo" is extra)
|
|
265
|
+
* expect({ foo: undefined }).toEqual({ foo: undefined }, true) // will pass
|
|
266
|
+
* expect({}).toEqual({ foo: undefined }) // will fail ("foo" is missing, whether "strict" is true or false)
|
|
267
|
+
* ```
|
|
268
|
+
*
|
|
256
269
|
* Negation: {@link NegativeExpectations.toEqual `not.toEqual(...)`}
|
|
257
270
|
*/
|
|
258
|
-
toEqual<Type>(expected: Type): Expectations<InferToEqual<Type>>;
|
|
271
|
+
toEqual<Type>(expected: Type, strict?: boolean): Expectations<InferToEqual<Type>>;
|
|
259
272
|
/**
|
|
260
273
|
* Expects the value to have a `number` _property_ `length` with the specified
|
|
261
274
|
* expected value.
|
|
@@ -268,15 +281,30 @@ export declare class Expectations<T = unknown> {
|
|
|
268
281
|
/**
|
|
269
282
|
* Expects the value to have the specified _property_.
|
|
270
283
|
*
|
|
284
|
+
* The value associated with the property should not be `undefined`.
|
|
285
|
+
*
|
|
286
|
+
* For example:
|
|
287
|
+
*
|
|
288
|
+
* ```ts
|
|
289
|
+
* expect({}).toHaveProperty('foo') // fails
|
|
290
|
+
* expect({ foo: undefined }).toHaveProperty('foo') // fails
|
|
291
|
+
* ```
|
|
292
|
+
*
|
|
271
293
|
* Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
|
|
272
294
|
*/
|
|
273
295
|
toHaveProperty<Prop extends string | number | symbol>(property: Prop): Expectations<T & {
|
|
274
296
|
[keyt in Prop]: unknown;
|
|
275
297
|
}>;
|
|
276
298
|
/**
|
|
277
|
-
* Expects the value to have the specified _property_ and (if
|
|
299
|
+
* Expects the value to have the specified _property_ and (if found)
|
|
278
300
|
* further validates its value with a {@link Matcher}.
|
|
279
301
|
*
|
|
302
|
+
* This also works with `undefined` values, for example:
|
|
303
|
+
* ```ts
|
|
304
|
+
* expect({ foo: undefined }).toHaveProperty('foo') // no matcher, fails
|
|
305
|
+
* expect({ foo: undefined }).toHaveProperty('foo', expect.toBeUndefined()) // works!
|
|
306
|
+
* ```
|
|
307
|
+
*
|
|
280
308
|
* Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
|
|
281
309
|
*/
|
|
282
310
|
toHaveProperty<Prop extends string | number | symbol, Match extends Matcher>(property: Prop, matcher: Match): Expectations<T & {
|
|
@@ -465,7 +493,7 @@ export declare class NegativeExpectations<T = unknown> {
|
|
|
465
493
|
*
|
|
466
494
|
* Negates: {@link Expectations.toEqual `toEqual(...)`}
|
|
467
495
|
*/
|
|
468
|
-
toEqual(expected: any): Expectations<T>;
|
|
496
|
+
toEqual(expected: any, strict?: boolean): Expectations<T>;
|
|
469
497
|
/**
|
|
470
498
|
* Expects the value to have a `number` _property_ `length` _different_ from
|
|
471
499
|
* the specified expected value.
|
|
@@ -248,12 +248,25 @@ var Expectations = class _Expectations {
|
|
|
248
248
|
/**
|
|
249
249
|
* Expects the value to be _deep equal to_ the specified expected one.
|
|
250
250
|
*
|
|
251
|
+
* When `strict` is `true` (defaults to `false`) enumerable keys associated
|
|
252
|
+
* with an `undefined` value found in the _actual_ object will have to be
|
|
253
|
+
* also defined in the _expected_ object.
|
|
254
|
+
*
|
|
255
|
+
* For example:
|
|
256
|
+
*
|
|
257
|
+
* ```ts
|
|
258
|
+
* expect({ foo: undefined }).toEqual({}) // will pass
|
|
259
|
+
* expect({ foo: undefined }).toEqual({}, true) // will fail ("foo" is extra)
|
|
260
|
+
* expect({ foo: undefined }).toEqual({ foo: undefined }, true) // will pass
|
|
261
|
+
* expect({}).toEqual({ foo: undefined }) // will fail ("foo" is missing, whether "strict" is true or false)
|
|
262
|
+
* ```
|
|
263
|
+
*
|
|
251
264
|
* Negation: {@link NegativeExpectations.toEqual `not.toEqual(...)`}
|
|
252
265
|
*/
|
|
253
|
-
toEqual(expected) {
|
|
266
|
+
toEqual(expected, strict = false) {
|
|
254
267
|
if (this.value === expected)
|
|
255
268
|
return this;
|
|
256
|
-
const result = diff(this.value, expected);
|
|
269
|
+
const result = diff(this.value, expected, strict);
|
|
257
270
|
if (result.diff) {
|
|
258
271
|
if (isMatcher(expected)) {
|
|
259
272
|
this._fail("to satisfy expectation matcher", result);
|
|
@@ -284,7 +297,13 @@ var Expectations = class _Expectations {
|
|
|
284
297
|
toHaveProperty(property, assertionOrMatcher) {
|
|
285
298
|
this.toBeDefined();
|
|
286
299
|
const propertyValue = this.value[property];
|
|
287
|
-
|
|
300
|
+
let hasProperty;
|
|
301
|
+
try {
|
|
302
|
+
hasProperty = property in this.value;
|
|
303
|
+
} catch (error) {
|
|
304
|
+
hasProperty = propertyValue !== void 0;
|
|
305
|
+
}
|
|
306
|
+
if (!hasProperty) {
|
|
288
307
|
this._fail(`to have property "${String(property)}"`);
|
|
289
308
|
}
|
|
290
309
|
if (assertionOrMatcher) {
|
|
@@ -306,6 +325,8 @@ var Expectations = class _Expectations {
|
|
|
306
325
|
}
|
|
307
326
|
throw error;
|
|
308
327
|
}
|
|
328
|
+
} else if (propertyValue === void 0) {
|
|
329
|
+
this._fail(`has property "${String(property)}" with value ${stringifyValue(void 0)}`);
|
|
309
330
|
}
|
|
310
331
|
return this;
|
|
311
332
|
}
|
|
@@ -475,10 +496,10 @@ var NegativeExpectations = class {
|
|
|
475
496
|
*
|
|
476
497
|
* Negates: {@link Expectations.toEqual `toEqual(...)`}
|
|
477
498
|
*/
|
|
478
|
-
toEqual(expected) {
|
|
499
|
+
toEqual(expected, strict = false) {
|
|
479
500
|
let result = { diff: false, value: this._value };
|
|
480
501
|
if (this._value !== expected) {
|
|
481
|
-
result = diff(this._value, expected);
|
|
502
|
+
result = diff(this._value, expected, strict);
|
|
482
503
|
if (result.diff)
|
|
483
504
|
return this._expectations;
|
|
484
505
|
}
|
|
@@ -513,10 +534,15 @@ var NegativeExpectations = class {
|
|
|
513
534
|
*/
|
|
514
535
|
toHaveProperty(property) {
|
|
515
536
|
this._expectations.toBeDefined();
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
537
|
+
let hasProperty;
|
|
538
|
+
try {
|
|
539
|
+
hasProperty = property in this._value;
|
|
540
|
+
} catch (error) {
|
|
541
|
+
hasProperty = this._value[property] !== void 0;
|
|
542
|
+
}
|
|
543
|
+
if (hasProperty)
|
|
544
|
+
this._fail(`not to have property "${String(property)}"`);
|
|
545
|
+
return this._expectations;
|
|
520
546
|
}
|
|
521
547
|
/* ------------------------------------------------------------------------ */
|
|
522
548
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/expectation/expectations.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["diff"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plugjs/expect5",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.36",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"author": "Juit Developers <developers@juit.com>",
|
|
44
44
|
"license": "Apache-2.0",
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@types/chai": "^4.3.
|
|
46
|
+
"@types/chai": "^4.3.15",
|
|
47
47
|
"chai": "<5"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@plugjs/plug": "0.5.
|
|
50
|
+
"@plugjs/plug": "0.5.36"
|
|
51
51
|
},
|
|
52
52
|
"files": [
|
|
53
53
|
"*.md",
|
package/src/expectation/diff.ts
CHANGED
|
@@ -52,7 +52,21 @@ export type Diff =
|
|
|
52
52
|
|
|
53
53
|
type Binary = Buffer | Uint8Array | ArrayBuffer | SharedArrayBuffer
|
|
54
54
|
type BoxedPrimitive = Boolean | String | Number
|
|
55
|
-
type Remarks = { actualMemos: any[], expectedMemos: any[] }
|
|
55
|
+
type Remarks = { actualMemos: any[], expectedMemos: any[], strict: boolean }
|
|
56
|
+
|
|
57
|
+
/* ========================================================================== */
|
|
58
|
+
|
|
59
|
+
/** Find all enumerable keys of a number of objects */
|
|
60
|
+
function findEnumerableKeys(...objects: object[]): Set<string> {
|
|
61
|
+
const keys = new Set<string>()
|
|
62
|
+
for (const object of objects) {
|
|
63
|
+
for (const key in object) {
|
|
64
|
+
keys.add(key)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return keys
|
|
69
|
+
}
|
|
56
70
|
|
|
57
71
|
/* ========================================================================== */
|
|
58
72
|
|
|
@@ -77,7 +91,7 @@ function objectDiff<T extends Record<string, any>>(
|
|
|
77
91
|
keys?: Set<string>,
|
|
78
92
|
): ObjectDiff | ValueDiff {
|
|
79
93
|
// default keys: all keys from both actual and expected objects
|
|
80
|
-
if (! keys) keys =
|
|
94
|
+
if (! keys) keys = findEnumerableKeys(actual, expected)
|
|
81
95
|
|
|
82
96
|
// no keys? no diff!
|
|
83
97
|
if (! keys.size) return { diff: false, value: actual }
|
|
@@ -91,7 +105,9 @@ function objectDiff<T extends Record<string, any>>(
|
|
|
91
105
|
|
|
92
106
|
// check for missing/extra property or differences
|
|
93
107
|
let result: Diff
|
|
94
|
-
if ((
|
|
108
|
+
if ((act === undefined) && (exp === undefined) && (!(key in expected)) && (! remarks.strict)) {
|
|
109
|
+
result = { diff: false, value: undefined }
|
|
110
|
+
} else if ((key in expected) && (!(key in actual))) {
|
|
95
111
|
result = { diff: true, missing: exp }
|
|
96
112
|
} else if ((key in actual) && (!(key in expected))) {
|
|
97
113
|
result = { diff: true, extra: act }
|
|
@@ -120,7 +136,7 @@ function arrayDiff<T extends Record<number, any> & { length: number }>(
|
|
|
120
136
|
}
|
|
121
137
|
|
|
122
138
|
// prepare a set with _all_ keys from both expected and actual object
|
|
123
|
-
const keys =
|
|
139
|
+
const keys = findEnumerableKeys(actual, expected)
|
|
124
140
|
|
|
125
141
|
// iterate through the array, checking equality for each item ad the given
|
|
126
142
|
// index, and _removing_ the index from the set of keys to further analyse
|
|
@@ -230,7 +246,13 @@ function binaryDiff<T extends Binary>(
|
|
|
230
246
|
}
|
|
231
247
|
|
|
232
248
|
// remember keys
|
|
233
|
-
const keys =
|
|
249
|
+
const keys = findEnumerableKeys(actual, expected)
|
|
250
|
+
// buffers have a ton of *enumerable* props we don't want to consider...
|
|
251
|
+
if (actual instanceof Buffer) {
|
|
252
|
+
for (const key in Buffer.prototype) {
|
|
253
|
+
keys.delete(key)
|
|
254
|
+
}
|
|
255
|
+
}
|
|
234
256
|
|
|
235
257
|
// check for equality
|
|
236
258
|
const length = expectedData.length
|
|
@@ -272,7 +294,7 @@ function primitiveDiff<T extends BoxedPrimitive>(
|
|
|
272
294
|
}
|
|
273
295
|
|
|
274
296
|
// remove string indexes from properties
|
|
275
|
-
const keys =
|
|
297
|
+
const keys = findEnumerableKeys(actual, expected)
|
|
276
298
|
if (actual instanceof String) {
|
|
277
299
|
const length = actual.valueOf().length
|
|
278
300
|
for (let i = 0; i < length; i ++) {
|
|
@@ -452,6 +474,6 @@ function diffValues(actual: any, expected: any, remarks: Remarks): Diff {
|
|
|
452
474
|
* EXPORTS *
|
|
453
475
|
* ========================================================================== */
|
|
454
476
|
|
|
455
|
-
export function diff(actual: any, expected: any): Diff {
|
|
456
|
-
return diffValues(actual, expected, { actualMemos: [], expectedMemos: [] })
|
|
477
|
+
export function diff(actual: any, expected: any, strict: boolean = false): Diff {
|
|
478
|
+
return diffValues(actual, expected, { actualMemos: [], expectedMemos: [], strict })
|
|
457
479
|
}
|
|
@@ -580,12 +580,25 @@ export class Expectations<T = unknown> {
|
|
|
580
580
|
/**
|
|
581
581
|
* Expects the value to be _deep equal to_ the specified expected one.
|
|
582
582
|
*
|
|
583
|
+
* When `strict` is `true` (defaults to `false`) enumerable keys associated
|
|
584
|
+
* with an `undefined` value found in the _actual_ object will have to be
|
|
585
|
+
* also defined in the _expected_ object.
|
|
586
|
+
*
|
|
587
|
+
* For example:
|
|
588
|
+
*
|
|
589
|
+
* ```ts
|
|
590
|
+
* expect({ foo: undefined }).toEqual({}) // will pass
|
|
591
|
+
* expect({ foo: undefined }).toEqual({}, true) // will fail ("foo" is extra)
|
|
592
|
+
* expect({ foo: undefined }).toEqual({ foo: undefined }, true) // will pass
|
|
593
|
+
* expect({}).toEqual({ foo: undefined }) // will fail ("foo" is missing, whether "strict" is true or false)
|
|
594
|
+
* ```
|
|
595
|
+
*
|
|
583
596
|
* Negation: {@link NegativeExpectations.toEqual `not.toEqual(...)`}
|
|
584
597
|
*/
|
|
585
|
-
toEqual<Type>(expected: Type): Expectations<InferToEqual<Type>> {
|
|
598
|
+
toEqual<Type>(expected: Type, strict: boolean = false): Expectations<InferToEqual<Type>> {
|
|
586
599
|
if ((this.value as any) === expected) return this as Expectations<any>
|
|
587
600
|
|
|
588
|
-
const result = diff(this.value, expected)
|
|
601
|
+
const result = diff(this.value, expected, strict)
|
|
589
602
|
|
|
590
603
|
if (result.diff) {
|
|
591
604
|
if (isMatcher(expected)) {
|
|
@@ -624,6 +637,15 @@ export class Expectations<T = unknown> {
|
|
|
624
637
|
/**
|
|
625
638
|
* Expects the value to have the specified _property_.
|
|
626
639
|
*
|
|
640
|
+
* The value associated with the property should not be `undefined`.
|
|
641
|
+
*
|
|
642
|
+
* For example:
|
|
643
|
+
*
|
|
644
|
+
* ```ts
|
|
645
|
+
* expect({}).toHaveProperty('foo') // fails
|
|
646
|
+
* expect({ foo: undefined }).toHaveProperty('foo') // fails
|
|
647
|
+
* ```
|
|
648
|
+
*
|
|
627
649
|
* Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
|
|
628
650
|
*/
|
|
629
651
|
toHaveProperty<Prop extends string | number | symbol>(
|
|
@@ -631,9 +653,15 @@ export class Expectations<T = unknown> {
|
|
|
631
653
|
): Expectations<T & { [keyt in Prop] : unknown }>
|
|
632
654
|
|
|
633
655
|
/**
|
|
634
|
-
* Expects the value to have the specified _property_ and (if
|
|
656
|
+
* Expects the value to have the specified _property_ and (if found)
|
|
635
657
|
* further validates its value with a {@link Matcher}.
|
|
636
658
|
*
|
|
659
|
+
* This also works with `undefined` values, for example:
|
|
660
|
+
* ```ts
|
|
661
|
+
* expect({ foo: undefined }).toHaveProperty('foo') // no matcher, fails
|
|
662
|
+
* expect({ foo: undefined }).toHaveProperty('foo', expect.toBeUndefined()) // works!
|
|
663
|
+
* ```
|
|
664
|
+
*
|
|
637
665
|
* Negation: {@link NegativeExpectations.toHaveProperty `not.toHaveProperty(...)`}
|
|
638
666
|
*/
|
|
639
667
|
toHaveProperty<
|
|
@@ -665,8 +693,16 @@ export class Expectations<T = unknown> {
|
|
|
665
693
|
this.toBeDefined()
|
|
666
694
|
|
|
667
695
|
const propertyValue = (this.value as any)[property]
|
|
696
|
+
let hasProperty: boolean
|
|
697
|
+
try {
|
|
698
|
+
// this is for "normal" objects
|
|
699
|
+
hasProperty = property in (this.value as any)
|
|
700
|
+
} catch (error) {
|
|
701
|
+
// when "in" doesn't apply (primitives) use the value
|
|
702
|
+
hasProperty = propertyValue !== undefined
|
|
703
|
+
}
|
|
668
704
|
|
|
669
|
-
if (
|
|
705
|
+
if (! hasProperty) {
|
|
670
706
|
this._fail(`to have property "${String(property)}"`)
|
|
671
707
|
}
|
|
672
708
|
|
|
@@ -692,7 +728,10 @@ export class Expectations<T = unknown> {
|
|
|
692
728
|
// re-throw
|
|
693
729
|
throw error
|
|
694
730
|
}
|
|
731
|
+
} else if (propertyValue === undefined) {
|
|
732
|
+
this._fail(`has property "${String(property)}" with value ${stringifyValue(undefined)}`)
|
|
695
733
|
}
|
|
734
|
+
|
|
696
735
|
return this as Expectations<any>
|
|
697
736
|
}
|
|
698
737
|
|
|
@@ -1040,10 +1079,10 @@ export class NegativeExpectations<T = unknown> {
|
|
|
1040
1079
|
*
|
|
1041
1080
|
* Negates: {@link Expectations.toEqual `toEqual(...)`}
|
|
1042
1081
|
*/
|
|
1043
|
-
toEqual(expected: any): Expectations<T> {
|
|
1082
|
+
toEqual(expected: any, strict: boolean = false): Expectations<T> {
|
|
1044
1083
|
let result: Diff = { diff: false, value: this._value }
|
|
1045
1084
|
if (this._value !== expected) {
|
|
1046
|
-
result = diff(this._value, expected)
|
|
1085
|
+
result = diff(this._value, expected, strict)
|
|
1047
1086
|
if (result.diff) return this._expectations
|
|
1048
1087
|
}
|
|
1049
1088
|
|
|
@@ -1085,9 +1124,15 @@ export class NegativeExpectations<T = unknown> {
|
|
|
1085
1124
|
toHaveProperty(property: string | number | symbol): Expectations<T> {
|
|
1086
1125
|
this._expectations.toBeDefined()
|
|
1087
1126
|
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1127
|
+
let hasProperty: boolean
|
|
1128
|
+
try {
|
|
1129
|
+
hasProperty = property in (this._value as any)
|
|
1130
|
+
} catch (error) {
|
|
1131
|
+
hasProperty = (this._value as any)[property] !== undefined
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
if (hasProperty) this._fail(`not to have property "${String(property)}"`)
|
|
1135
|
+
return this._expectations
|
|
1091
1136
|
}
|
|
1092
1137
|
|
|
1093
1138
|
/* ------------------------------------------------------------------------ */
|