vest 4.4.2 → 4.4.3-dev-c786f7
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/cjs/classnames.development.js +9 -60
- package/dist/cjs/classnames.production.js +1 -1
- package/dist/cjs/enforce/compose.development.js +5 -58
- package/dist/cjs/enforce/compose.production.js +1 -1
- package/dist/cjs/enforce/compounds.development.js +8 -51
- package/dist/cjs/enforce/compounds.production.js +1 -1
- package/dist/cjs/enforce/schema.development.js +5 -57
- package/dist/cjs/enforce/schema.production.js +1 -1
- package/dist/cjs/parser.development.js +8 -59
- package/dist/cjs/parser.production.js +1 -1
- package/dist/cjs/promisify.development.js +2 -26
- package/dist/cjs/promisify.production.js +1 -1
- package/dist/cjs/vest.development.js +119 -368
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/classnames.development.js +1 -52
- package/dist/es/classnames.production.js +1 -1
- package/dist/es/enforce/compose.development.js +1 -54
- package/dist/es/enforce/compose.production.js +1 -1
- package/dist/es/enforce/compounds.development.js +2 -45
- package/dist/es/enforce/compounds.production.js +1 -1
- package/dist/es/enforce/schema.development.js +1 -53
- package/dist/es/enforce/schema.production.js +1 -1
- package/dist/es/parser.development.js +1 -52
- package/dist/es/parser.production.js +1 -1
- package/dist/es/promisify.development.js +1 -25
- package/dist/es/promisify.production.js +1 -1
- package/dist/es/vest.development.js +44 -293
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/classnames.development.js +11 -11
- package/dist/umd/classnames.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +94 -94
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +117 -117
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +117 -117
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/parser.development.js +11 -11
- package/dist/umd/parser.production.js +1 -1
- package/dist/umd/vest.development.js +296 -295
- package/dist/umd/vest.production.js +1 -1
- package/package.json +4 -3
- package/testUtils/__tests__/partition.test.ts +21 -0
- package/testUtils/mockThrowError.ts +2 -1
- package/testUtils/partition.ts +13 -0
- package/testUtils/suiteDummy.ts +1 -1
- package/types/enforce/compose.d.ts +15 -31
- package/types/enforce/compounds.d.ts +15 -31
- package/types/enforce/schema.d.ts +15 -31
- package/types/vest.d.ts +1 -1
|
@@ -1,181 +1,12 @@
|
|
|
1
1
|
export { enforce } from 'n4s';
|
|
2
|
+
import { isUndefined, isStringValue, assign, cache as cache$2, optionalFunctionValue, nestedArray, asArray, genId, isFunction, isNullish, deferThrow, invariant, bindNot, either, isEmpty, isNotEmpty, isPositive, hasOwnProperty, isArray, callEach, bus, defaultTo, isPromise, isNull } from 'vest-utils';
|
|
2
3
|
import { createContext } from 'context';
|
|
3
4
|
|
|
4
|
-
/**
|
|
5
|
-
* @returns a unique numeric id.
|
|
6
|
-
*/
|
|
7
|
-
var genId = (function (n) { return function () {
|
|
8
|
-
return "".concat(n++);
|
|
9
|
-
}; })(0);
|
|
10
|
-
|
|
11
|
-
function isStringValue(v) {
|
|
12
|
-
return String(v) === v;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function bindNot(fn) {
|
|
16
|
-
return function () {
|
|
17
|
-
var args = [];
|
|
18
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
19
|
-
args[_i] = arguments[_i];
|
|
20
|
-
}
|
|
21
|
-
return !fn.apply(void 0, args);
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function isUndefined(value) {
|
|
26
|
-
return value === undefined;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
5
|
function shouldUseErrorAsMessage(message, error) {
|
|
30
6
|
// kind of cheating with this safe guard, but it does the job
|
|
31
7
|
return isUndefined(message) && isStringValue(error);
|
|
32
8
|
}
|
|
33
9
|
|
|
34
|
-
function asArray(possibleArg) {
|
|
35
|
-
return [].concat(possibleArg);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
var assign = Object.assign;
|
|
39
|
-
|
|
40
|
-
function isNumeric(value) {
|
|
41
|
-
var str = String(value);
|
|
42
|
-
var num = Number(value);
|
|
43
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
44
|
-
return Boolean(result);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function numberEquals(value, eq) {
|
|
48
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function lengthEquals(value, arg1) {
|
|
52
|
-
return numberEquals(value.length, arg1);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function greaterThan(value, gt) {
|
|
56
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function longerThan(value, arg1) {
|
|
60
|
-
return greaterThan(value.length, arg1);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Creates a cache function
|
|
65
|
-
*/
|
|
66
|
-
function createCache(maxSize) {
|
|
67
|
-
if (maxSize === void 0) { maxSize = 1; }
|
|
68
|
-
var cacheStorage = [];
|
|
69
|
-
var cache = function (deps, cacheAction) {
|
|
70
|
-
var cacheHit = cache.get(deps);
|
|
71
|
-
// cache hit is not null
|
|
72
|
-
if (cacheHit)
|
|
73
|
-
return cacheHit[1];
|
|
74
|
-
var result = cacheAction();
|
|
75
|
-
cacheStorage.unshift([deps.concat(), result]);
|
|
76
|
-
if (longerThan(cacheStorage, maxSize))
|
|
77
|
-
cacheStorage.length = maxSize;
|
|
78
|
-
return result;
|
|
79
|
-
};
|
|
80
|
-
// invalidate an item in the cache by its dependencies
|
|
81
|
-
cache.invalidate = function (deps) {
|
|
82
|
-
var index = findIndex(deps);
|
|
83
|
-
if (index > -1)
|
|
84
|
-
cacheStorage.splice(index, 1);
|
|
85
|
-
};
|
|
86
|
-
// Retrieves an item from the cache.
|
|
87
|
-
cache.get = function (deps) {
|
|
88
|
-
return cacheStorage[findIndex(deps)] || null;
|
|
89
|
-
};
|
|
90
|
-
return cache;
|
|
91
|
-
function findIndex(deps) {
|
|
92
|
-
return cacheStorage.findIndex(function (_a) {
|
|
93
|
-
var cachedDeps = _a[0];
|
|
94
|
-
return lengthEquals(deps, cachedDeps.length) &&
|
|
95
|
-
deps.every(function (dep, i) { return dep === cachedDeps[i]; });
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// The module is named "isArrayValue" since it
|
|
101
|
-
// is conflicting with a nested npm dependency.
|
|
102
|
-
// We may need to revisit this in the future.
|
|
103
|
-
function isArray(value) {
|
|
104
|
-
return Boolean(Array.isArray(value));
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function isNull(value) {
|
|
108
|
-
return value === null;
|
|
109
|
-
}
|
|
110
|
-
var isNotNull = bindNot(isNull);
|
|
111
|
-
|
|
112
|
-
function isFunction(value) {
|
|
113
|
-
return typeof value === 'function';
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function optionalFunctionValue(value) {
|
|
117
|
-
var args = [];
|
|
118
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
119
|
-
args[_i - 1] = arguments[_i];
|
|
120
|
-
}
|
|
121
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function defaultTo(value, defaultValue) {
|
|
125
|
-
var _a;
|
|
126
|
-
return (_a = optionalFunctionValue(value)) !== null && _a !== void 0 ? _a : optionalFunctionValue(defaultValue);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function last(values) {
|
|
130
|
-
var valuesArray = asArray(values);
|
|
131
|
-
return valuesArray[valuesArray.length - 1];
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// This is kind of a map/filter in one function.
|
|
135
|
-
// Normally, behaves like a nested-array map,
|
|
136
|
-
// but returning `null` will drop the element from the array
|
|
137
|
-
function transform(array, cb) {
|
|
138
|
-
var res = [];
|
|
139
|
-
for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {
|
|
140
|
-
var v = array_1[_i];
|
|
141
|
-
if (isArray(v)) {
|
|
142
|
-
res.push(transform(v, cb));
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
var output = cb(v);
|
|
146
|
-
if (isNotNull(output)) {
|
|
147
|
-
res.push(output);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
return res;
|
|
152
|
-
}
|
|
153
|
-
function valueAtPath(array, path) {
|
|
154
|
-
return getCurrent(array, path)[last(path)];
|
|
155
|
-
}
|
|
156
|
-
function setValueAtPath(array, path, value) {
|
|
157
|
-
var current = getCurrent(array, path);
|
|
158
|
-
current[last(path)] = value;
|
|
159
|
-
return array;
|
|
160
|
-
}
|
|
161
|
-
function flatten(values) {
|
|
162
|
-
return asArray(values).reduce(function (acc, value) {
|
|
163
|
-
if (isArray(value)) {
|
|
164
|
-
return acc.concat(flatten(value));
|
|
165
|
-
}
|
|
166
|
-
return asArray(acc).concat(value);
|
|
167
|
-
}, []);
|
|
168
|
-
}
|
|
169
|
-
function getCurrent(array, path) {
|
|
170
|
-
var current = array;
|
|
171
|
-
for (var _i = 0, _a = path.slice(0, -1); _i < _a.length; _i++) {
|
|
172
|
-
var p = _a[_i];
|
|
173
|
-
current[p] = defaultTo(current[p], []);
|
|
174
|
-
current = current[p];
|
|
175
|
-
}
|
|
176
|
-
return current;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
10
|
var IsolateTypes;
|
|
180
11
|
(function (IsolateTypes) {
|
|
181
12
|
IsolateTypes[IsolateTypes["DEFAULT"] = 0] = "DEFAULT";
|
|
@@ -302,10 +133,10 @@ function useSetTests(handler) {
|
|
|
302
133
|
function useAllIncomplete() {
|
|
303
134
|
return useTestsFlat().filter(function (test) { return test.isPending(); });
|
|
304
135
|
}
|
|
305
|
-
var flatCache =
|
|
136
|
+
var flatCache = cache$2();
|
|
306
137
|
function useTestsFlat() {
|
|
307
138
|
var current = useTestObjects()[0].current;
|
|
308
|
-
return flatCache([current], function () { return flatten(current); });
|
|
139
|
+
return flatCache([current], function () { return nestedArray.flatten(current); });
|
|
309
140
|
}
|
|
310
141
|
function useEachTestObject(handler) {
|
|
311
142
|
var testObjects = useTestsFlat();
|
|
@@ -456,20 +287,6 @@ var STATUS_PENDING = 'PENDING';
|
|
|
456
287
|
var STATUS_CANCELED = 'CANCELED';
|
|
457
288
|
var STATUS_OMITTED = 'OMITTED';
|
|
458
289
|
|
|
459
|
-
function invariant(condition,
|
|
460
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
461
|
-
message) {
|
|
462
|
-
if (condition) {
|
|
463
|
-
return;
|
|
464
|
-
}
|
|
465
|
-
// If message is a string object (rather than string literal)
|
|
466
|
-
// Throw the value directly as a string
|
|
467
|
-
// Alternatively, throw an error with the message
|
|
468
|
-
throw message instanceof String
|
|
469
|
-
? message.valueOf()
|
|
470
|
-
: new Error(message ? optionalFunctionValue(message) : message);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
290
|
// eslint-disable-next-line max-lines-per-function
|
|
474
291
|
function createState(onStateChange) {
|
|
475
292
|
var state = {
|
|
@@ -553,19 +370,29 @@ function createStateRef(state, _a) {
|
|
|
553
370
|
};
|
|
554
371
|
}
|
|
555
372
|
|
|
556
|
-
|
|
557
|
-
|
|
373
|
+
/**
|
|
374
|
+
* @returns {Isolate} The current isolate layer
|
|
375
|
+
*/
|
|
376
|
+
function useIsolate() {
|
|
377
|
+
return context.useX().isolate;
|
|
558
378
|
}
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
379
|
+
/**
|
|
380
|
+
* @returns {number[]} The current cursor path of the isolate tree
|
|
381
|
+
*/
|
|
382
|
+
function useCurrentPath() {
|
|
383
|
+
var isolate = useIsolate();
|
|
384
|
+
return isolate.path.concat(isolate.cursor.current());
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* @returns {IsolateCursor} The cursor object for the current isolate
|
|
388
|
+
*/
|
|
389
|
+
function useCursor() {
|
|
390
|
+
return useIsolate().cursor;
|
|
564
391
|
}
|
|
565
392
|
|
|
566
393
|
function usePrevKeys() {
|
|
567
394
|
var prev = useTestObjects()[0].prev;
|
|
568
|
-
return asArray(getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
|
|
395
|
+
return asArray(nestedArray.getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
|
|
569
396
|
if (!(testObject instanceof VestTest)) {
|
|
570
397
|
return prevKeys;
|
|
571
398
|
}
|
|
@@ -597,7 +424,7 @@ function isolate(_a, callback) {
|
|
|
597
424
|
var isolate = generateIsolate(type, useCurrentPath());
|
|
598
425
|
var output = context.run({ isolate: isolate }, function () {
|
|
599
426
|
isolate.keys.prev = usePrevKeys();
|
|
600
|
-
useSetTests(function (tests) { return setValueAtPath(tests, isolate.path, []); });
|
|
427
|
+
useSetTests(function (tests) { return nestedArray.setValueAtPath(tests, isolate.path, []); });
|
|
601
428
|
var res = callback();
|
|
602
429
|
return res;
|
|
603
430
|
});
|
|
@@ -605,31 +432,12 @@ function isolate(_a, callback) {
|
|
|
605
432
|
useCursor().next();
|
|
606
433
|
return output;
|
|
607
434
|
}
|
|
608
|
-
/**
|
|
609
|
-
* @returns {Isolate} The current isolate layer
|
|
610
|
-
*/
|
|
611
|
-
function useIsolate() {
|
|
612
|
-
return context.useX().isolate;
|
|
613
|
-
}
|
|
614
435
|
/**
|
|
615
436
|
* @returns {boolean} Whether or not the current isolate allows tests to be reordered
|
|
616
437
|
*/
|
|
617
438
|
function shouldAllowReorder() {
|
|
618
439
|
return useIsolate().type === IsolateTypes.EACH;
|
|
619
440
|
}
|
|
620
|
-
/**
|
|
621
|
-
* @returns {number[]} The current cursor path of the isolate tree
|
|
622
|
-
*/
|
|
623
|
-
function useCurrentPath() {
|
|
624
|
-
var isolate = useIsolate();
|
|
625
|
-
return isolate.path.concat(isolate.cursor.current());
|
|
626
|
-
}
|
|
627
|
-
/**
|
|
628
|
-
* @returns {IsolateCursor} The cursor object for the current isolate
|
|
629
|
-
*/
|
|
630
|
-
function useCursor() {
|
|
631
|
-
return useIsolate().cursor;
|
|
632
|
-
}
|
|
633
441
|
|
|
634
442
|
var Severity;
|
|
635
443
|
(function (Severity) {
|
|
@@ -647,27 +455,6 @@ function countKeyBySeverity(severity) {
|
|
|
647
455
|
: SeverityCount.WARN_COUNT;
|
|
648
456
|
}
|
|
649
457
|
|
|
650
|
-
/**
|
|
651
|
-
* A safe hasOwnProperty access
|
|
652
|
-
*/
|
|
653
|
-
function hasOwnProperty(obj, key) {
|
|
654
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
function isEmpty(value) {
|
|
658
|
-
if (!value) {
|
|
659
|
-
return true;
|
|
660
|
-
}
|
|
661
|
-
else if (hasOwnProperty(value, 'length')) {
|
|
662
|
-
return lengthEquals(value, 0);
|
|
663
|
-
}
|
|
664
|
-
else if (typeof value === 'object') {
|
|
665
|
-
return lengthEquals(Object.keys(value), 0);
|
|
666
|
-
}
|
|
667
|
-
return false;
|
|
668
|
-
}
|
|
669
|
-
var isNotEmpty = bindNot(isEmpty);
|
|
670
|
-
|
|
671
458
|
function nonMatchingFieldName(testObject, fieldName) {
|
|
672
459
|
return !!fieldName && !matchingFieldName(testObject, fieldName);
|
|
673
460
|
}
|
|
@@ -680,10 +467,6 @@ function matchingGroupName(testObject, groupName) {
|
|
|
680
467
|
return testObject.groupName === groupName;
|
|
681
468
|
}
|
|
682
469
|
|
|
683
|
-
function either(a, b) {
|
|
684
|
-
return !!a !== !!b;
|
|
685
|
-
}
|
|
686
|
-
|
|
687
470
|
/**
|
|
688
471
|
* Checks that a given test object matches the currently specified severity level
|
|
689
472
|
*/
|
|
@@ -907,10 +690,6 @@ function baseTestStats() {
|
|
|
907
690
|
});
|
|
908
691
|
}
|
|
909
692
|
|
|
910
|
-
function isPositive(value) {
|
|
911
|
-
return greaterThan(value, 0);
|
|
912
|
-
}
|
|
913
|
-
|
|
914
693
|
// calls collectAll or getByFieldName depending on whether fieldName is provided
|
|
915
694
|
function gatherFailures(testGroup, severityKey, fieldName) {
|
|
916
695
|
return fieldName
|
|
@@ -1027,7 +806,7 @@ function isFieldValid(testContainer, fieldName) {
|
|
|
1027
806
|
return !!((_a = testContainer[fieldName]) === null || _a === void 0 ? void 0 : _a.valid);
|
|
1028
807
|
}
|
|
1029
808
|
|
|
1030
|
-
var cache$1 =
|
|
809
|
+
var cache$1 = cache$2(1);
|
|
1031
810
|
function produceSuiteResult() {
|
|
1032
811
|
var testObjects = useTestsFlat();
|
|
1033
812
|
var ctxRef = { stateRef: useStateRef() };
|
|
@@ -1067,7 +846,7 @@ function hasRemainingTests(fieldName) {
|
|
|
1067
846
|
return isNotEmpty(allIncomplete);
|
|
1068
847
|
}
|
|
1069
848
|
|
|
1070
|
-
var cache =
|
|
849
|
+
var cache = cache$2(20);
|
|
1071
850
|
function produceFullResult() {
|
|
1072
851
|
var testObjects = useTestsFlat();
|
|
1073
852
|
var ctxRef = { stateRef: useStateRef() };
|
|
@@ -1126,28 +905,6 @@ function deferDoneCallback(doneCallback, fieldName) {
|
|
|
1126
905
|
});
|
|
1127
906
|
}
|
|
1128
907
|
|
|
1129
|
-
function createBus() {
|
|
1130
|
-
var listeners = {};
|
|
1131
|
-
return {
|
|
1132
|
-
emit: function (event, data) {
|
|
1133
|
-
listener(event).forEach(function (handler) {
|
|
1134
|
-
handler(data);
|
|
1135
|
-
});
|
|
1136
|
-
},
|
|
1137
|
-
on: function (event, handler) {
|
|
1138
|
-
listeners[event] = listener(event).concat(handler);
|
|
1139
|
-
return {
|
|
1140
|
-
off: function () {
|
|
1141
|
-
listeners[event] = listener(event).filter(function (h) { return h !== handler; });
|
|
1142
|
-
}
|
|
1143
|
-
};
|
|
1144
|
-
}
|
|
1145
|
-
};
|
|
1146
|
-
function listener(event) {
|
|
1147
|
-
return listeners[event] || [];
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
|
|
1151
908
|
function omitOptionalFields() {
|
|
1152
909
|
var optionalFields = useOptionalFields()[0];
|
|
1153
910
|
if (isEmpty(optionalFields)) {
|
|
@@ -1155,7 +912,7 @@ function omitOptionalFields() {
|
|
|
1155
912
|
}
|
|
1156
913
|
var shouldOmit = {};
|
|
1157
914
|
useSetTests(function (tests) {
|
|
1158
|
-
return transform(tests, function (testObject) {
|
|
915
|
+
return nestedArray.transform(tests, function (testObject) {
|
|
1159
916
|
var fieldName = testObject.fieldName;
|
|
1160
917
|
if (hasOwnProperty(shouldOmit, fieldName)) {
|
|
1161
918
|
verifyAndOmit(testObject);
|
|
@@ -1186,14 +943,10 @@ function omitOptionalFields() {
|
|
|
1186
943
|
*/
|
|
1187
944
|
function removeTestFromState (testObject) {
|
|
1188
945
|
useSetTests(function (tests) {
|
|
1189
|
-
return transform(tests, function (test) { return (testObject !== test ? test : null); });
|
|
946
|
+
return nestedArray.transform(tests, function (test) { return (testObject !== test ? test : null); });
|
|
1190
947
|
});
|
|
1191
948
|
}
|
|
1192
949
|
|
|
1193
|
-
function callEach(arr) {
|
|
1194
|
-
return arr.forEach(function (fn) { return fn(); });
|
|
1195
|
-
}
|
|
1196
|
-
|
|
1197
950
|
/**
|
|
1198
951
|
* Runs done callback per field when async tests are finished running.
|
|
1199
952
|
*/
|
|
@@ -1215,10 +968,10 @@ function runDoneCallbacks() {
|
|
|
1215
968
|
|
|
1216
969
|
// eslint-disable-next-line max-lines-per-function
|
|
1217
970
|
function initBus() {
|
|
1218
|
-
var
|
|
971
|
+
var vestBus = bus.createBus();
|
|
1219
972
|
// Report a the completion of a test. There may be other tests with the same
|
|
1220
973
|
// name that are still running, or not yet started.
|
|
1221
|
-
|
|
974
|
+
vestBus.on(Events.TEST_COMPLETED, function (testObject) {
|
|
1222
975
|
if (testObject.isCanceled()) {
|
|
1223
976
|
return;
|
|
1224
977
|
}
|
|
@@ -1226,21 +979,21 @@ function initBus() {
|
|
|
1226
979
|
runFieldCallbacks(testObject.fieldName);
|
|
1227
980
|
if (!hasRemainingTests()) {
|
|
1228
981
|
// When no more tests are running, emit the done event
|
|
1229
|
-
|
|
982
|
+
vestBus.emit(Events.ALL_RUNNING_TESTS_FINISHED);
|
|
1230
983
|
}
|
|
1231
984
|
});
|
|
1232
985
|
// Report that the suite completed its synchronous test run.
|
|
1233
986
|
// Async operations may still be running.
|
|
1234
|
-
|
|
987
|
+
vestBus.on(Events.SUITE_CALLBACK_DONE_RUNNING, function () {
|
|
1235
988
|
// Remove tests that are optional and need to be omitted
|
|
1236
989
|
omitOptionalFields();
|
|
1237
990
|
});
|
|
1238
991
|
// Called when all the tests, including async, are done running
|
|
1239
|
-
|
|
992
|
+
vestBus.on(Events.ALL_RUNNING_TESTS_FINISHED, function () {
|
|
1240
993
|
runDoneCallbacks();
|
|
1241
994
|
});
|
|
1242
995
|
// Removes a certain field from the state.
|
|
1243
|
-
|
|
996
|
+
vestBus.on(Events.REMOVE_FIELD, function (fieldName) {
|
|
1244
997
|
useEachTestObject(function (testObject) {
|
|
1245
998
|
if (matchingFieldName(testObject, fieldName)) {
|
|
1246
999
|
testObject.cancel();
|
|
@@ -1249,14 +1002,14 @@ function initBus() {
|
|
|
1249
1002
|
});
|
|
1250
1003
|
});
|
|
1251
1004
|
// Resets a certain field in the state.
|
|
1252
|
-
|
|
1005
|
+
vestBus.on(Events.RESET_FIELD, function (fieldName) {
|
|
1253
1006
|
useEachTestObject(function (testObject) {
|
|
1254
1007
|
if (matchingFieldName(testObject, fieldName)) {
|
|
1255
1008
|
testObject.reset();
|
|
1256
1009
|
}
|
|
1257
1010
|
});
|
|
1258
1011
|
});
|
|
1259
|
-
return
|
|
1012
|
+
return vestBus;
|
|
1260
1013
|
}
|
|
1261
1014
|
function useBus() {
|
|
1262
1015
|
var context$1 = context.useX();
|
|
@@ -1380,10 +1133,10 @@ function isExcludedIndividually() {
|
|
|
1380
1133
|
* only('username');
|
|
1381
1134
|
*/
|
|
1382
1135
|
function only(item) {
|
|
1383
|
-
return addTo(0 /* ONLY */, 'tests', item);
|
|
1136
|
+
return addTo(0 /* ExclusionGroup.ONLY */, 'tests', item);
|
|
1384
1137
|
}
|
|
1385
1138
|
only.group = function (item) {
|
|
1386
|
-
return addTo(0 /* ONLY */, 'groups', item);
|
|
1139
|
+
return addTo(0 /* ExclusionGroup.ONLY */, 'groups', item);
|
|
1387
1140
|
};
|
|
1388
1141
|
/**
|
|
1389
1142
|
* Adds a field or a list of fields into the exclusion list
|
|
@@ -1393,10 +1146,10 @@ only.group = function (item) {
|
|
|
1393
1146
|
* skip('username');
|
|
1394
1147
|
*/
|
|
1395
1148
|
function skip(item) {
|
|
1396
|
-
return addTo(1 /* SKIP */, 'tests', item);
|
|
1149
|
+
return addTo(1 /* ExclusionGroup.SKIP */, 'tests', item);
|
|
1397
1150
|
}
|
|
1398
1151
|
skip.group = function (item) {
|
|
1399
|
-
return addTo(1 /* SKIP */, 'groups', item);
|
|
1152
|
+
return addTo(1 /* ExclusionGroup.SKIP */, 'groups', item);
|
|
1400
1153
|
};
|
|
1401
1154
|
//Checks whether a certain test profile excluded by any of the exclusion groups.
|
|
1402
1155
|
// eslint-disable-next-line complexity, max-statements, max-lines-per-function
|
|
@@ -1475,7 +1228,7 @@ function addTo(exclusionGroup, itemType, item) {
|
|
|
1475
1228
|
return;
|
|
1476
1229
|
}
|
|
1477
1230
|
context$1.exclusion[itemType][itemName] =
|
|
1478
|
-
exclusionGroup === 0 /* ONLY */;
|
|
1231
|
+
exclusionGroup === 0 /* ExclusionGroup.ONLY */;
|
|
1479
1232
|
});
|
|
1480
1233
|
}
|
|
1481
1234
|
/**
|
|
@@ -1666,9 +1419,7 @@ function __spreadArray(to, from, pack) {
|
|
|
1666
1419
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
1667
1420
|
}
|
|
1668
1421
|
|
|
1669
|
-
|
|
1670
|
-
return value && isFunction(value.then);
|
|
1671
|
-
}
|
|
1422
|
+
bindNot(isStringValue);
|
|
1672
1423
|
|
|
1673
1424
|
function isSameProfileTest(testObject1, testObject2) {
|
|
1674
1425
|
return (testObject1.fieldName === testObject2.fieldName &&
|
|
@@ -1796,12 +1547,12 @@ function removeAllNextTestsInIsolate() {
|
|
|
1796
1547
|
function useSetTestAtCursor(testObject) {
|
|
1797
1548
|
var cursorPath = useCurrentPath();
|
|
1798
1549
|
useSetTests(function (tests) {
|
|
1799
|
-
return setValueAtPath(tests, cursorPath, testObject);
|
|
1550
|
+
return nestedArray.setValueAtPath(tests, cursorPath, testObject);
|
|
1800
1551
|
});
|
|
1801
1552
|
}
|
|
1802
1553
|
function useGetTestAtCursor(tests) {
|
|
1803
1554
|
var cursorPath = useCurrentPath();
|
|
1804
|
-
return valueAtPath(tests, cursorPath);
|
|
1555
|
+
return nestedArray.valueAtPath(tests, cursorPath);
|
|
1805
1556
|
}
|
|
1806
1557
|
function testReorderDetected(prevTest, newTest) {
|
|
1807
1558
|
return isNotEmpty(prevTest) && !isSameProfileTest(prevTest, newTest);
|
|
@@ -1865,7 +1616,7 @@ function registerTestObjectByTier(testObject) {
|
|
|
1865
1616
|
/* eslint-disable jest/valid-title */
|
|
1866
1617
|
// eslint-disable-next-line max-lines-per-function
|
|
1867
1618
|
function bindTestMemo(test) {
|
|
1868
|
-
var cache =
|
|
1619
|
+
var cache = cache$2(10); // arbitrary cache size
|
|
1869
1620
|
// eslint-disable-next-line max-statements
|
|
1870
1621
|
function memo(fieldName) {
|
|
1871
1622
|
var args = [];
|
|
@@ -1934,6 +1685,6 @@ function warn() {
|
|
|
1934
1685
|
ctx.currentTest.warn();
|
|
1935
1686
|
}
|
|
1936
1687
|
|
|
1937
|
-
var VERSION = "4.4.
|
|
1688
|
+
var VERSION = "4.4.3-dev-c786f7";
|
|
1938
1689
|
|
|
1939
1690
|
export { VERSION, context, create, each, eager, group, include, omitWhen, only, optional, skip, skipWhen, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t}from"context";export{enforce}from"n4s";var n,r=(n=0,function(){return"".concat(n++)});function e(t){return String(t)===t}function u(t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return!t.apply(void 0,n)}}var i=Object.assign;function o(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function s(t,n){return o(t)&&o(n)&&Number(t)===Number(n)}function a(t,n){return o(t)&&o(n)&&Number(t)>Number(n)}function c(t){function n(r,u){var i=n.get(r);return i?i[1]:(u=u(),e.unshift([r.concat(),u]),a(e.length,t)&&(e.length=t),u)}function r(t){return e.findIndex((function(n){var r=n[0];return s(t.length,r.length)&&t.every((function(t,n){return t===r[n]}))}))}void 0===t&&(t=1);var e=[];return n.invalidate=function(t){-1<(t=r(t))&&e.splice(t,1)},n.get=function(t){return e[r(t)]||null},n}var f=u((function(t){return null===t}));function l(t){return"function"==typeof t}function d(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return l(t)?t.apply(void 0,n):t}function p(t,n){var r;return null!==(r=d(t))&&void 0!==r?r:d(n)}function v(t){return(t=[].concat(t))[t.length-1]}function h(t,n){for(var r=[],e=0;e<t.length;e++){var u=t[e];Array.isArray(u)?r.push(h(u,n)):(u=n(u),f(u)&&r.push(u))}return r}function E(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(E(n)):[].concat(t).concat(n)}),[])}function g(t,n){var r=0;for(n=n.slice(0,-1);r<n.length;r++){var e=n[r];t[e]=p(t[e],[]),t=t[e]}return t}var N,m=N||(N={});m[m.DEFAULT=0]="DEFAULT",m[m.SUITE=1]="SUITE",m[m.EACH=2]="EACH",m[m.SKIP_WHEN=3]="SKIP_WHEN",m[m.OMIT_WHEN=4]="OMIT_WHEN",m[m.GROUP=5]="GROUP";var y,R=y||(y={});function b(){var t=0;return{current:function(){return t},next:function(){t++}}}function S(t,n){return void 0===n&&(n=[]),{cursor:b(),keys:{current:{},prev:{}},path:n,type:t}}R[R.ALL=0]="ALL",R[R.EAGER=1]="EAGER";var T=t((function(t,n){return n?null:i({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:S(N.DEFAULT),mode:[y.ALL]},t)}));function O(){return T.useX().stateRef}function C(t){return O().optionalFields()[0][t]}function A(t,n){(0,O().optionalFields()[1])((function(r){var e;return i(r,((e={})[t]=d(n,r[t]),e))}))}function I(t){var n;return null===(n=C(t))||void 0===n?void 0:n[0]}function _(){k((function(t){return t}))}function k(t){(0,O().testObjects()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function F(){return U().filter((function(t){return t.isPending()}))}var L=c();function U(){var t=O().testObjects()[0].current;return L([t],(function(){return E(t)}))}var G,P=G||(G={});P.Error="error",P.Warning="warning";var W=function(){function t(t,n,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=G.Error,this.status=w,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&e(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==M||(this.status=t)},t.prototype.warns=function(){return this.severity===G.Warning},t.prototype.setPending=function(){this.setStatus(H)},t.prototype.fail=function(){this.setStatus(this.warns()?X:x)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(j)},t.prototype.warn=function(){this.severity=G.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(D)},t.prototype.cancel=function(){this.setStatus(K),_()},t.prototype.reset=function(){this.status=w,_()},t.prototype.omit=function(){this.setStatus(M)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(H)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(M)},t.prototype.isUntested=function(){return this.statusEquals(w)},t.prototype.isFailing=function(){return this.statusEquals(x)},t.prototype.isCanceled=function(){return this.statusEquals(K)},t.prototype.isSkipped=function(){return this.statusEquals(D)},t.prototype.isPassing=function(){return this.statusEquals(j)},t.prototype.isWarning=function(){return this.statusEquals(X)},t.prototype.statusEquals=function(t){return this.status===t},t}(),w="UNTESTED",D="SKIPPED",x="FAILED",X="WARNING",j="PASSING",H="PENDING",K="CANCELED",M="OMITTED";function q(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?d(n):n)}function B(t){function n(t,n,u){return e.references.push(),r(t,d(n,u)),function(){return[e.references[t],function(n){return r(t,d(n,e.references[t]))}]}}function r(n,r){var i=e.references[n];e.references[n]=r,l(n=u[n][1])&&n(r,i),l(t)&&t()}var e={references:[]},u=[];return{registerStateKey:function(t,r){var e=u.length;return u.push([t,r]),n(e,t)},reset:function(){var t=e.references;e.references=[],u.forEach((function(r,e){return n(e,r[0],t[e])}))}}}function V(t,n){var r=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(r),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function Y(t){return null==t}function J(t){setTimeout((function(){throw Error(t)}),0)}function z(t,n){t=void 0===(t=t.type)?N.DEFAULT:t,q(l(n));var r=S(t,Z());return t=T.run({isolate:r},(function(){return r.keys.prev=function(){var t=O().testObjects()[0].prev;return[].concat(g(t,Z())).reduce((function(t,n){return n instanceof W&&!Y(n.key)?(t[n.key]=n,t):t}),{})}(),k((function(t){var n=r.path;return g(t,n)[v(n)]=[],t})),n()})),Q().cursor.next(),t}function Q(){return T.useX().isolate}function Z(){var t=Q();return t.path.concat(t.cursor.current())}var $,tt=$||($={});tt.WARNINGS="warnings",tt.ERRORS="errors";var nt,rt=nt||(nt={});function et(t){return t===$.ERRORS?nt.ERROR_COUNT:nt.WARN_COUNT}function ut(t){return!t||(Object.prototype.hasOwnProperty.call(t,"length")?s(t.length,0):"object"==typeof t&&s((t=Object.keys(t)).length,0))}rt.ERROR_COUNT="errorCount",rt.WARN_COUNT="warnCount";var it=u(ut);function ot(t,n){return!(!n||t.fieldName!==n)}var st=u((function(t,n){return t.groupName===n}));function at(t,n){return U().some((function(r){return ct(r,t,n)}))}function ct(t,n,r){return(r=!t.hasFailures()||r&&!ot(t,r))||(t=t.warns(),r=n===$.WARNINGS!=!!t),!r}function ft(t){return!!lt(t)||!at($.ERRORS,t)&&(!ut(U())&&!function(t){return it(F().filter((function(n){return dt(n,t)})))}(t)&&function(t){return U().every((function(n){return!(!t||ot(n,t))||pt(n,t)}))}(t))}function lt(t){return!!t&&!0===(null===(n=C(t))||void 0===n?void 0:n[1]);var n}function dt(t,n){return!(n&&!ot(t,n))&&!0!==I(t.fieldName)}function pt(t,n){return!(!n||ot(t,n))||(!0===I(t.fieldName)||t.isTested()||t.isOmitted())}function vt(){var t=T.useX().summary;return q(t),t}function ht(){var t=U(),n=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var r=t.tests;r[n.fieldName]=Et(r,n),r[n.fieldName].valid=!1!==r[n.fieldName].valid&&ft(n.fieldName);var e=t.groups,u=n.groupName;return u&&(e[u]=e[u]||{},e[u][n.fieldName]=Et(e[u],n),r=e[u][n.fieldName],!1===e[u][n.fieldName].valid?n=!1:n=!!lt(n=n.fieldName)||!function(t,n,r){return U().some((function(e){return!st(e,n)&&ct(e,t,r)}))}($.ERRORS,u,n)&&!function(t,n){return it(F().filter((function(r){return!st(r,t)&&dt(r,n)})))}(u,n)&&function(t,n){return U().every((function(r){return!!st(r,t)||pt(r,n)}))}(u,n),r.valid=n),t}),n),n.valid=ft(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}function Et(t,n){function r(t){var n=et(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var e=n.fieldName,u=n.message;t[e]=t[e]||i({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[e];return n.isNonActionable()||(t[e].testCount++,n.isFailing()?r($.ERRORS):n.isWarning()&&r($.WARNINGS)),o}function gt(t,n,r){var e;return(null===(e=null==t?void 0:t[r])||void 0===e?void 0:e[n])||[]}function Nt(t,n){var r,e={},u=et(n);for(r in t)a(t[r][u],0)&&(e[r]=t[r][n]||[]);return e}function mt(t){return Rt($.ERRORS,t)}function yt(t){return Rt($.WARNINGS,t)}function Rt(t,n){var r=vt().tests;return n?gt(r,t,n):Nt(r,t)}function bt(t,n){return Tt(t,$.ERRORS,n)}function St(t,n){return Tt(t,$.WARNINGS,n)}function Tt(t,n,r){return t=vt().groups[t],r?gt(t,n,r):Nt(t,n)}function Ot(t){return At(nt.ERROR_COUNT,t)}function Ct(t){return At(nt.WARN_COUNT,t)}function At(t,n){var r,e=vt();return a(n?null===(r=e.tests[n])||void 0===r?void 0:r[t]:e[t],0)}function It(t,n){return kt($.ERRORS,t,n)}function _t(t,n){return kt($.WARNINGS,t,n)}function kt(t,n,r){var e,u,i=vt();if(t=et(t),!(n=i.groups[n]))return!1;if(r)return a(null===(e=n[r])||void 0===e?void 0:e[t],0);for(var o in n)if(a(null===(u=n[o])||void 0===u?void 0:u[t],0))return!0;return!1}function Ft(t){var n=vt();return t?!!Ut(n.tests,t):n.valid}function Lt(t,n){if(!(t=vt().groups[t]))return!1;if(n)return Ut(t,n);for(var r in t)if(!Ut(t,r))return!1;return!0}function Ut(t,n){var r;return!(null===(r=t[n])||void 0===r||!r.valid)}var Gt=c(1);function Pt(){var t=U(),n={stateRef:O()};return Gt([t],T.bind(n,(function(){var t=ht(),n=O().suiteName()[0],r={summary:t};return i(t,{getErrors:T.bind(r,mt),getErrorsByGroup:T.bind(r,bt),getWarnings:T.bind(r,yt),getWarningsByGroup:T.bind(r,St),hasErrors:T.bind(r,Ot),hasErrorsByGroup:T.bind(r,It),hasWarnings:T.bind(r,Ct),hasWarningsByGroup:T.bind(r,_t),isValid:T.bind(r,Ft),isValidByGroup:T.bind(r,Lt),suiteName:n})})))}function Wt(t){var n=F();return!ut(n)&&(t?n.some((function(n){return ot(n,t)})):it(n))}var wt=c(20);function Dt(){var t=U(),n={stateRef:O()};return wt([t],T.bind(n,(function(){return i({},Pt(),{done:T.bind(n,jt)})})))}function xt(t,n,r){return!(l(t)&&(!n||r.tests[n]&&!ut(r.tests[n].testCount)))}function Xt(t){return!(Wt()&&(!t||Wt(t)))}function jt(){function t(){return e(Pt())}for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var e=(n=n.reverse())[0];return n=n[1],r=Dt(),xt(e,n,r)?r:Xt(n)?(t(),r):(Ht(t,n),r)}function Ht(t,n){(0,O().testCallbacks()[1])((function(r){return n?r.fieldCallbacks[n]=(r.fieldCallbacks[n]||[]).concat(t):r.doneCallbacks.push(t),r}))}function Kt(t){return t.forEach((function(t){return t()}))}function Mt(){var t=function(){var t={};return{emit:function(n,r){(t[n]||[]).forEach((function(t){t(r)}))},on:function(n,r){return t[n]=(t[n]||[]).concat(r),{off:function(){t[n]=(t[n]||[]).filter((function(t){return t!==r}))}}}}}();return t.on(Bt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var r=O().testCallbacks()[0].fieldCallbacks;n&&!Wt(n)&&Array.isArray(r[n])&&Kt(r[n]),Wt()||t.emit(Bt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Bt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){n[t.fieldName]&&(t.omit(),A(t.fieldName,(function(t){return[t[0],!0]})))}if(!ut(O().optionalFields()[0])){var n={};k((function(r){return h(r,(function(r){if(Object.prototype.hasOwnProperty.call(n,r.fieldName))t(r);else{var e=I(r.fieldName);l(e)&&(n[r.fieldName]=e(),t(r))}return r}))}))}}()})),t.on(Bt.ALL_RUNNING_TESTS_FINISHED,(function(){Kt(O().testCallbacks()[0].doneCallbacks)})),t.on(Bt.REMOVE_FIELD,(function(t){U().forEach((function(n){ot(n,t)&&(n.cancel(),function(t){k((function(n){return h(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Bt.RESET_FIELD,(function(t){U().forEach((function(n){ot(n,t)&&n.reset()}))})),t}function qt(){var t=T.useX();return q(t.bus),t.bus}var Bt,Vt=Bt||(Bt={});function Yt(t){return zt(0,"tests",t)}function Jt(t){return zt(1,"tests",t)}function zt(t,n,r){var u=T.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){e(r)&&(u.exclusion[n][r]=0===t)}))}function Qt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Zt(){var t,n=T.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function $t(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function tn(t,n,r){if(r||2===arguments.length)for(var e,u=0,i=n.length;u<i;u++)!e&&u in n||(e||(e=Array.prototype.slice.call(n,0,u)),e[u]=n[u]);return t.concat(e||Array.prototype.slice.call(n))}function nn(t){var n=t.asyncTest,r=t.message;if(n&&l(n.then)){var u=qt().emit,i=O(),o=T.bind({stateRef:i},(function(){_(),u(Bt.TEST_COMPLETED,t)}));i=T.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=e(n)?n:r,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function rn(t){var n=O().testObjects()[0].prev;if(ut(n))return en(t),t;var r=Z();if(n=g(n,r)[v(r)],!Y(t.key)){n=t.key,(r=Q().keys.prev[n])&&(t=r),r=t;var e=Q().keys.current;return Y(e[n])?e[n]=r:J('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),en(t),t}return!it(r=n)||r.fieldName===t.fieldName&&r.groupName===t.groupName||(Q().type===N.EACH||J("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=Q().cursor.current();k((function(n){return n.splice(t),n}))}(),n=null),en(t=p(n,t)),t}function en(t){var n=Z();k((function(r){return g(r,n)[v(n)]=t,r}))}function un(t){var n=Q().cursor,r=y.EAGER;if(T.useX().mode[0]===r&&at($.ERRORS,t.fieldName))return t.skip(),rn(t),n.next(),t;if(r=rn(t),T.useX().omitted)return r.omit(),n.next(),r;if(function(t){var n=t.fieldName;if(t=t.groupName,T.useX().skipped)return!0;var r=T.useX(),e=r.exclusion;r=r.inclusion;var u=e.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){var o=T.useX().exclusion.groups;if(o=Object.prototype.hasOwnProperty.call(o,t)?!1===o[t]:Zt())return!0;if(!0===e.groups[t])return!(i||!Qt(u)&&!1!==u[n])}return!!(t=!!Zt()&&!t)||!i&&!!Qt(u)&&!d(r[n])}(t))return r.skip(!!T.useX().skipped),n.next(),r;if(t!==r&&r.fieldName===t.fieldName&&r.groupName===t.groupName&&r.isPending()&&r.cancel(),en(t),t.isUntested()){r=qt();var e=function(t){return T.run({currentTest:t},(function(){return t.run()}))}(t);try{e&&l(e.then)?(t.asyncTest=e,t.setPending(),nn(t)):r.emit(Bt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(r=t.asyncTest)&&l(r.then)&&(t.setPending(),nn(t));return n.next(),t}function on(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var u=l(n[1])?n:tn([void 0],n,!0);n=u[0],r=u[1],u=u[2],q(e(t),an("fieldName","string")),q(l(r),an("Test callback","function"));var i=T.useX();return un(n=new W(t,r,{message:n,groupName:i.groupName,key:u}))}Vt.TEST_COMPLETED="test_completed",Vt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Vt.REMOVE_FIELD="remove_field",Vt.RESET_FIELD="reset_field",Vt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Yt.group=function(t){return zt(0,"groups",t)},Jt.group=function(t){return zt(1,"groups",t)};var sn=i(on,{memo:function(t){var n=c(10);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=Q().cursor.current();var i=(e=e.reverse())[0],o=e[1],s=e[2];return u=[O().suiteId()[0],r,u].concat(i),null===(e=n.get(u))?n(u,(function(){return t(r,s,o)})):e[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(r,s,o)}))):un(e[1])}}(on)});function an(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var cn="4.4.2";function fn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];t=t[1],q(l(e),"vest.create: Expected callback to be a function.");var u=Mt(),o=B();return t={stateRef:V(o,{suiteId:r(),suiteName:t}),bus:u},i(T.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return o.reset(),z({type:N.SUITE},(function(){e.apply(void 0,t)})),u.emit(Bt.SUITE_CALLBACK_DONE_RUNNING),Dt()})),{get:T.bind(t,Pt),remove:T.bind(t,(function(t){u.emit(Bt.REMOVE_FIELD,t)})),reset:o.reset,resetField:T.bind(t,(function(t){u.emit(Bt.RESET_FIELD,t)}))})}function ln(t,n){q(l(n),"each callback must be a function"),z({type:N.EACH},(function(){t.forEach((function(t,r){n(t,r)}))}))}function dn(){var t=y.EAGER;T.useX().mode[0]=t}function pn(t,n){q(e(t),$t("name must be a string")),q(l(n),$t("callback must be a function")),z({type:N.GROUP},(function(){T.run({groupName:t},n)}))}function vn(t){var n=T.useX(),r=n.inclusion;return n=n.exclusion,q(e(t)),r[t]=p(n.tests[t],!0),{when:function(n){var r=T.useX(),u=r.exclusion;r.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?p(u.tests[t],!0):e(n)?!!u.tests[n]:d(n,d(Pt))}}}}function hn(t,n){z({type:N.OMIT_WHEN},(function(){T.run({omitted:!!T.useX().omitted||d(t,d(Pt))},(function(){return n()}))}))}function En(t){if(Array.isArray(t)||e(t))[].concat(t).forEach((function(t){A(t,[!0,!1])}));else for(var n in t)A(n,[t[n],!1])}function gn(t,n){z({type:N.SKIP_WHEN},(function(){T.run({skipped:!!T.useX().skipped||d(t,d(Pt))},(function(){return n()}))}))}function Nn(){var t=T.useX("warn hook called outside of a running suite.");q(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{cn as VERSION,T as context,fn as create,ln as each,dn as eager,pn as group,vn as include,hn as omitWhen,Yt as only,En as optional,Jt as skip,gn as skipWhen,sn as test,Nn as warn};
|
|
1
|
+
import{createContext as t}from"context";import{isUndefined as n,isStringValue as e,assign as r,cache as i,optionalFunctionValue as u,nestedArray as o,asArray as s,genId as a,isFunction as c,isNullish as f,deferThrow as l,invariant as d,bindNot as p,either as v,isEmpty as E,isNotEmpty as N,isPositive as m,hasOwnProperty as h,isArray as g,callEach as y,bus as R,defaultTo as S,isPromise as C,isNull as T}from"vest-utils";export{enforce}from"n4s";var b,_=b||(b={});_[_.DEFAULT=0]="DEFAULT",_[_.SUITE=1]="SUITE",_[_.EACH=2]="EACH",_[_.SKIP_WHEN=3]="SKIP_WHEN",_[_.OMIT_WHEN=4]="OMIT_WHEN",_[_.GROUP=5]="GROUP";var I,O=I||(I={});function A(){var t=0;return{current:function(){return t},next:function(){t++}}}function k(t,n){return void 0===n&&(n=[]),{cursor:A(),keys:{current:{},prev:{}},path:n,type:t}}O[O.ALL=0]="ALL",O[O.EAGER=1]="EAGER";var L=t((function(t,n){return n?null:r({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:k(b.DEFAULT),mode:[I.ALL]},t)}));function F(){return L.useX().stateRef}function U(t){return F().optionalFields()[0][t]}function G(t,n){(0,F().optionalFields()[1])((function(e){var i;return r(e,((i={})[t]=u(n,e[t]),i))}))}function W(t){var n;return null===(n=U(t))||void 0===n?void 0:n[0]}function P(){D((function(t){return t}))}function D(t){(0,F().testObjects()[1])((function(n){return{prev:n.prev,current:s(t(n.current))}}))}function x(){return X().filter((function(t){return t.isPending()}))}var w=i();function X(){var t=F().testObjects()[0].current;return w([t],(function(){return o.flatten(t)}))}var H,K=H||(H={});K.Error="error",K.Warning="warning";var M=function(){function t(t,n,e){var r=void 0===e?{}:e;e=r.message;var i=r.groupName;r=r.key,this.key=null,this.id=a(),this.severity=H.Error,this.status=q,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),r&&(this.key=r)}return t.prototype.run=function(){try{var t=this.testFn()}catch(r){t=r,n(this.message)&&e(t)&&(this.message=r),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==Q||(this.status=t)},t.prototype.warns=function(){return this.severity===H.Warning},t.prototype.setPending=function(){this.setStatus(J)},t.prototype.fail=function(){this.setStatus(this.warns()?j:V)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(Y)},t.prototype.warn=function(){this.severity=H.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(B)},t.prototype.cancel=function(){this.setStatus(z),P()},t.prototype.reset=function(){this.status=q,P()},t.prototype.omit=function(){this.setStatus(Q)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(J)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(Q)},t.prototype.isUntested=function(){return this.statusEquals(q)},t.prototype.isFailing=function(){return this.statusEquals(V)},t.prototype.isCanceled=function(){return this.statusEquals(z)},t.prototype.isSkipped=function(){return this.statusEquals(B)},t.prototype.isPassing=function(){return this.statusEquals(Y)},t.prototype.isWarning=function(){return this.statusEquals(j)},t.prototype.statusEquals=function(t){return this.status===t},t}(),q="UNTESTED",B="SKIPPED",V="FAILED",j="WARNING",Y="PASSING",J="PENDING",z="CANCELED",Q="OMITTED";function Z(t){function n(t,n,i){return r.references.push(),e(t,u(n,i)),function(){return[r.references[t],function(n){return e(t,u(n,r.references[t]))}]}}function e(n,e){var u=r.references[n];r.references[n]=e,n=i[n][1],c(n)&&n(e,u),c(t)&&t()}var r={references:[]},i=[];return{registerStateKey:function(t,e){var r=i.length;return i.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],i.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function $(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function tt(){return L.useX().isolate}function nt(){var t=tt();return t.path.concat(t.cursor.current())}function et(t,n){t=void 0===(t=t.type)?b.DEFAULT:t,d(c(n));var e=k(t,nt());return t=L.run({isolate:e},(function(){return e.keys.prev=function(){var t=F().testObjects()[0].prev;return s(o.getCurrent(t,nt())).reduce((function(t,n){return n instanceof M&&!f(n.key)?(t[n.key]=n,t):t}),{})}(),D((function(t){return o.setValueAtPath(t,e.path,[])})),n()})),tt().cursor.next(),t}var rt,it=rt||(rt={});it.WARNINGS="warnings",it.ERRORS="errors";var ut,ot=ut||(ut={});function st(t){return t===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT}function at(t,n){return!(!n||t.fieldName!==n)}ot.ERROR_COUNT="errorCount",ot.WARN_COUNT="warnCount";var ct=p((function(t,n){return t.groupName===n}));function ft(t,n){return X().some((function(e){return lt(e,t,n)}))}function lt(t,n,e){return!(!t.hasFailures()||e&&!at(t,e)||v(n===rt.WARNINGS,t.warns()))}function dt(t){if(pt(t))return!0;if(ft(rt.ERRORS,t))return!1;var n=X();return!E(n)&&!function(t){return N(x().filter((function(n){return vt(n,t)})))}(t)&&function(t){return X().every((function(n){return!(!t||at(n,t))||Et(n,t)}))}(t)}function pt(t){return!!t&&!0===(null===(n=U(t))||void 0===n?void 0:n[1]);var n}function vt(t,n){return!(n&&!at(t,n))&&!0!==W(t.fieldName)}function Et(t,n){return!(!n||at(t,n))||(!0===W(t.fieldName)||t.isTested()||t.isOmitted())}function Nt(){var t=L.useX().summary;return d(t),t}function mt(){var t=X(),n=r({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=ht(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&dt(n.fieldName);var r=t.groups,i=n.groupName;return i&&(r[i]=r[i]||{},r[i][n.fieldName]=ht(r[i],n),e=r[i][n.fieldName],!1===r[i][n.fieldName].valid?n=!1:n=!!pt(n=n.fieldName)||!function(t,n,e){return X().some((function(r){return!ct(r,n)&<(r,t,e)}))}(rt.ERRORS,i,n)&&!function(t,n){return N(x().filter((function(e){return!ct(e,t)&&vt(e,n)})))}(i,n)&&function(t,n){return X().every((function(e){return!!ct(e,t)||Et(e,n)}))}(i,n),e.valid=n),t}),n),n.valid=dt(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}function ht(t,n){function e(t){var n=st(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var i=n.fieldName,u=n.message;t[i]=t[i]||r({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[i];return n.isNonActionable()||(t[i].testCount++,n.isFailing()?e(rt.ERRORS):n.isWarning()&&e(rt.WARNINGS)),o}function gt(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}function yt(t,n){var e,r={},i=st(n);for(e in t)m(t[e][i])&&(r[e]=t[e][n]||[]);return r}function Rt(t){return Ct(rt.ERRORS,t)}function St(t){return Ct(rt.WARNINGS,t)}function Ct(t,n){var e=Nt().tests;return n?gt(e,t,n):yt(e,t)}function Tt(t,n){return _t(t,rt.ERRORS,n)}function bt(t,n){return _t(t,rt.WARNINGS,n)}function _t(t,n,e){return t=Nt().groups[t],e?gt(t,n,e):yt(t,n)}function It(t){return At(ut.ERROR_COUNT,t)}function Ot(t){return At(ut.WARN_COUNT,t)}function At(t,n){var e,r=Nt();return m(n?null===(e=r.tests[n])||void 0===e?void 0:e[t]:r[t])}function kt(t,n){return Ft(rt.ERRORS,t,n)}function Lt(t,n){return Ft(rt.WARNINGS,t,n)}function Ft(t,n,e){var r,i,u=Nt();if(t=st(t),!(n=u.groups[n]))return!1;if(e)return m(null===(r=n[e])||void 0===r?void 0:r[t]);for(var o in n)if(m(null===(i=n[o])||void 0===i?void 0:i[t]))return!0;return!1}function Ut(t){var n=Nt();return t?!!Wt(n.tests,t):n.valid}function Gt(t,n){if(!(t=Nt().groups[t]))return!1;if(n)return Wt(t,n);for(var e in t)if(!Wt(t,e))return!1;return!0}function Wt(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}var Pt=i(1);function Dt(){var t=X(),n={stateRef:F()};return Pt([t],L.bind(n,(function(){var t=mt(),n=F().suiteName()[0],e={summary:t};return r(t,{getErrors:L.bind(e,Rt),getErrorsByGroup:L.bind(e,Tt),getWarnings:L.bind(e,St),getWarningsByGroup:L.bind(e,bt),hasErrors:L.bind(e,It),hasErrorsByGroup:L.bind(e,kt),hasWarnings:L.bind(e,Ot),hasWarningsByGroup:L.bind(e,Lt),isValid:L.bind(e,Ut),isValidByGroup:L.bind(e,Gt),suiteName:n})})))}function xt(t){var n=x();return!E(n)&&(t?n.some((function(n){return at(n,t)})):N(n))}var wt=i(20);function Xt(){var t=X(),n={stateRef:F()};return wt([t],L.bind(n,(function(){return r({},Dt(),{done:L.bind(n,Mt)})})))}function Ht(t,n,e){return!(c(t)&&(!n||e.tests[n]&&!E(e.tests[n].testCount)))}function Kt(t){return!(xt()&&(!t||xt(t)))}function Mt(){function t(){return r(Dt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=Xt(),Ht(r,n,e)?e:Kt(n)?(t(),e):(qt(t,n),e)}function qt(t,n){(0,F().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Bt(){var t=R.createBus();return t.on(jt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=F().testCallbacks()[0].fieldCallbacks;n&&!xt(n)&&g(e[n])&&y(e[n]),xt()||t.emit(jt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(jt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){e[t.fieldName]&&(t.omit(),G(t.fieldName,(function(t){return[t[0],!0]})))}var n=F().optionalFields()[0];if(!E(n)){var e={};D((function(n){return o.transform(n,(function(n){if(h(e,n.fieldName))t(n);else{var r=W(n.fieldName);c(r)&&(e[n.fieldName]=r(),t(n))}return n}))}))}}()})),t.on(jt.ALL_RUNNING_TESTS_FINISHED,(function(){var t=F().testCallbacks()[0].doneCallbacks;y(t)})),t.on(jt.REMOVE_FIELD,(function(t){X().forEach((function(n){at(n,t)&&(n.cancel(),function(t){D((function(n){return o.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(jt.RESET_FIELD,(function(t){X().forEach((function(n){at(n,t)&&n.reset()}))})),t}function Vt(){var t=L.useX();return d(t.bus),t.bus}var jt,Yt=jt||(jt={});function Jt(t){return Qt(0,"tests",t)}function zt(t){return Qt(1,"tests",t)}function Qt(t,n,r){var i=L.useX("hook called outside of a running suite.");r&&s(r).forEach((function(r){e(r)&&(i.exclusion[n][r]=0===t)}))}function Zt(t){for(var n in t)if(!0===t[n])return!0;return!1}function $t(){var t,n=L.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function tn(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function nn(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function en(t){var n=t.asyncTest,r=t.message;if(C(n)){var i=Vt().emit,u=F(),o=L.bind({stateRef:u},(function(){P(),i(jt.TEST_COMPLETED,t)}));u=L.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=e(n)?n:r,t.fail(),o())}));try{n.then(o,u)}catch(t){u()}}}function rn(t){var n=F().testObjects()[0].prev;if(E(n))return un(t),t;var e=nt();if(n=o.valueAtPath(n,e),!f(t.key)){n=t.key,(e=tt().keys.prev[n])&&(t=e),e=t;var r=tt().keys.current;return f(r[n])?r[n]=e:l('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),un(t),t}return!N(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(tt().type===b.EACH||l("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=tt().cursor.current();D((function(n){return n.splice(t),n}))}(),n=null),un(t=S(n,t)),t}function un(t){var n=nt();D((function(e){return o.setValueAtPath(e,n,t)}))}function on(t){var n=tt().cursor,e=I.EAGER;if(L.useX().mode[0]===e&&ft(rt.ERRORS,t.fieldName))return t.skip(),rn(t),n.next(),t;if(e=rn(t),L.useX().omitted)return e.omit(),n.next(),e;if(function(t){var n=t.fieldName;if(t=t.groupName,L.useX().skipped)return!0;var e=L.useX(),r=e.exclusion;e=e.inclusion;var i=r.tests,o=i[n];if(!1===o)return!0;if(o=!0===o,t){var s=L.useX().exclusion.groups;if(s=h(s,t)?!1===s[t]:$t())return!0;if(!0===r.groups[t])return!(o||!Zt(i)&&!1!==i[n])}return!!(t=!!$t()&&!t)||!o&&!!Zt(i)&&!u(e[n])}(t))return e.skip(!!L.useX().skipped),n.next(),e;if(t!==e&&e.fieldName===t.fieldName&&e.groupName===t.groupName&&e.isPending()&&e.cancel(),un(t),t.isUntested()){e=Vt();var r=function(t){return L.run({currentTest:t},(function(){return t.run()}))}(t);try{C(r)?(t.asyncTest=r,t.setPending(),en(t)):e.emit(jt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else C(t.asyncTest)&&(t.setPending(),en(t));return n.next(),t}function sn(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=c(n[1])?n:nn([void 0],n,!0);n=i[0],r=i[1],i=i[2],d(e(t),ln("fieldName","string")),d(c(r),ln("Test callback","function"));var u=L.useX();return on(n=new M(t,r,{message:n,groupName:u.groupName,key:i}))}Yt.TEST_COMPLETED="test_completed",Yt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Yt.REMOVE_FIELD="remove_field",Yt.RESET_FIELD="reset_field",Yt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Jt.group=function(t){return Qt(0,"groups",t)},zt.group=function(t){return Qt(1,"groups",t)},p(e);var an,cn,fn=r(sn,{memo:(an=sn,cn=i(10),function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];e=tt().cursor.current();var r=(n=n.reverse())[0],i=n[1],u=n[2];return e=[F().suiteId()[0],t,e].concat(r),n=cn.get(e),T(n)?cn(e,(function(){return an(t,u,i)})):n[1].isCanceled()?(cn.invalidate(e),cn(e,(function(){return an(t,u,i)}))):on(n[1])})});function ln(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var dn="4.4.3-dev-c786f7";function pn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];t=t[1],d(c(e),"vest.create: Expected callback to be a function.");var i=Bt(),u=Z();return t={stateRef:$(u,{suiteId:a(),suiteName:t}),bus:i},r(L.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return u.reset(),et({type:b.SUITE},(function(){e.apply(void 0,t)})),i.emit(jt.SUITE_CALLBACK_DONE_RUNNING),Xt()})),{get:L.bind(t,Dt),remove:L.bind(t,(function(t){i.emit(jt.REMOVE_FIELD,t)})),reset:u.reset,resetField:L.bind(t,(function(t){i.emit(jt.RESET_FIELD,t)}))})}function vn(t,n){d(c(n),"each callback must be a function"),et({type:b.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function En(){var t=I.EAGER;L.useX().mode[0]=t}function Nn(t,n){d(e(t),tn("name must be a string")),d(c(n),tn("callback must be a function")),et({type:b.GROUP},(function(){L.run({groupName:t},n)}))}function mn(t){var n=L.useX(),r=n.inclusion;return n=n.exclusion,d(e(t)),r[t]=S(n.tests[t],!0),{when:function(n){var r=L.useX(),i=r.exclusion;r.inclusion[t]=function(){return h(i.tests,t)?S(i.tests[t],!0):e(n)?!!i.tests[n]:u(n,u(Dt))}}}}function hn(t,n){et({type:b.OMIT_WHEN},(function(){L.run({omitted:!!L.useX().omitted||u(t,u(Dt))},(function(){return n()}))}))}function gn(t){if(g(t)||e(t))s(t).forEach((function(t){G(t,[!0,!1])}));else for(var n in t)G(n,[t[n],!1])}function yn(t,n){et({type:b.SKIP_WHEN},(function(){L.run({skipped:!!L.useX().skipped||u(t,u(Dt))},(function(){return n()}))}))}function Rn(){var t=L.useX("warn hook called outside of a running suite.");d(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{dn as VERSION,L as context,pn as create,vn as each,En as eager,Nn as group,mn as include,hn as omitWhen,Jt as only,gn as optional,zt as skip,yn as skipWhen,fn as test,Rn as warn};
|
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.classnames = factory());
|
|
5
5
|
}(this, (function () { 'use strict';
|
|
6
6
|
|
|
7
|
+
function isNumeric(value) {
|
|
8
|
+
var str = String(value);
|
|
9
|
+
var num = Number(value);
|
|
10
|
+
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
11
|
+
return Boolean(result);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function greaterThan(value, gt) {
|
|
15
|
+
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
16
|
+
}
|
|
17
|
+
|
|
7
18
|
function isFunction(value) {
|
|
8
19
|
return typeof value === 'function';
|
|
9
20
|
}
|
|
@@ -42,17 +53,6 @@
|
|
|
42
53
|
: new Error(message ? optionalFunctionValue(message) : message);
|
|
43
54
|
}
|
|
44
55
|
|
|
45
|
-
function isNumeric(value) {
|
|
46
|
-
var str = String(value);
|
|
47
|
-
var num = Number(value);
|
|
48
|
-
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
49
|
-
return Boolean(result);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function greaterThan(value, gt) {
|
|
53
|
-
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
56
|
function isPositive(value) {
|
|
57
57
|
return greaterThan(value, 0);
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=n()}(this,(function(){function t(t){
|
|
1
|
+
"use strict";!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).classnames=n()}(this,(function(){function t(t){var n=Number(t);return!(isNaN(parseFloat(String(t)))||isNaN(Number(t))||!isFinite(n))}function n(n,e){return t(n)&&t(e)&&Number(n)>Number(e)}function e(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return"function"==typeof t?t.apply(void 0,n):t}function r(t){function r(r,o){var i,u;return r=o?null===(i=t.tests[o])||void 0===i?void 0:i[r]:t[r],n(i=null!==(u=e(r))&&void 0!==u?u:e(0),0)}!function(t,n){if(!t)throw n instanceof String?n.valueOf():Error(n?e(n):n)}(t&&Object.prototype.hasOwnProperty.call(t,"valid"),"Vest parser: expected argument at position 0 to be Vest's result object.");var o={},i={invalid:function(t){return r(u.ERROR_COUNT,t)},tested:function(e){return e?Object.prototype.hasOwnProperty.call(o,e)?o[e]:(o[e]=Object.prototype.hasOwnProperty.call(t.tests,e)&&n(t.tests[e].testCount,0),i.tested(e)):n(t.testCount,0)},untested:function(n){return 0===t.testCount||!i.tested(n)},valid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},warning:function(t){return r(u.WARN_COUNT,t)}};return i}var o,i,u;return(i=o||(o={})).WARNINGS="warnings",i.ERRORS="errors",function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(u||(u={})),function(t,n){void 0===n&&(n={});var e=r(t);return function(t){var r,o=[];for(r in n){var i=r;"function"==typeof e[i]&&e[i](t)&&o.push(n[i])}return o.join(" ")}}}));
|