vest 4.3.4 → 4.4.1
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/vest.development.js +177 -110
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/vest.development.js +177 -110
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +1 -1
- package/dist/umd/enforce/compounds.development.js +1 -1
- package/dist/umd/enforce/schema.development.js +1 -1
- package/dist/umd/vest.development.js +177 -110
- package/dist/umd/vest.production.js +1 -1
- package/package.json +1 -1
- package/testUtils/testObjects.ts +4 -11
- package/types/classnames.d.ts +3 -5
- package/types/parser.d.ts +3 -5
- package/types/promisify.d.ts +7 -6
- package/types/vest.d.ts +37 -45
|
@@ -180,40 +180,6 @@ function getCurrent(array, path) {
|
|
|
180
180
|
return current;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
function createCursor() {
|
|
184
|
-
var storage = {
|
|
185
|
-
cursor: []
|
|
186
|
-
};
|
|
187
|
-
function addLevel() {
|
|
188
|
-
storage.cursor.push(0);
|
|
189
|
-
}
|
|
190
|
-
function removeLevel() {
|
|
191
|
-
storage.cursor.pop();
|
|
192
|
-
}
|
|
193
|
-
function cursorAt() {
|
|
194
|
-
return last(storage.cursor);
|
|
195
|
-
}
|
|
196
|
-
function getCursor() {
|
|
197
|
-
return asArray(storage.cursor);
|
|
198
|
-
}
|
|
199
|
-
function next() {
|
|
200
|
-
storage.cursor[storage.cursor.length - 1]++;
|
|
201
|
-
return last(storage.cursor);
|
|
202
|
-
}
|
|
203
|
-
function reset() {
|
|
204
|
-
storage.cursor = [0];
|
|
205
|
-
}
|
|
206
|
-
reset();
|
|
207
|
-
return {
|
|
208
|
-
addLevel: addLevel,
|
|
209
|
-
cursorAt: cursorAt,
|
|
210
|
-
getCursor: getCursor,
|
|
211
|
-
next: next,
|
|
212
|
-
removeLevel: removeLevel,
|
|
213
|
-
reset: reset
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
|
|
217
183
|
var IsolateTypes;
|
|
218
184
|
(function (IsolateTypes) {
|
|
219
185
|
IsolateTypes[IsolateTypes["DEFAULT"] = 0] = "DEFAULT";
|
|
@@ -230,6 +196,41 @@ var Modes;
|
|
|
230
196
|
Modes[Modes["EAGER"] = 1] = "EAGER";
|
|
231
197
|
})(Modes || (Modes = {}));
|
|
232
198
|
|
|
199
|
+
function createIsolateCursor() {
|
|
200
|
+
var cursor = {
|
|
201
|
+
value: 0
|
|
202
|
+
};
|
|
203
|
+
return {
|
|
204
|
+
current: current,
|
|
205
|
+
next: next
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* @returns {number} The current value of the cursor
|
|
209
|
+
*/
|
|
210
|
+
function current() {
|
|
211
|
+
return cursor.value;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Moves the isolate cursor forward by 1
|
|
215
|
+
*/
|
|
216
|
+
function next() {
|
|
217
|
+
cursor.value++;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
function generateIsolate(type, path) {
|
|
222
|
+
if (path === void 0) { path = []; }
|
|
223
|
+
return {
|
|
224
|
+
cursor: createIsolateCursor(),
|
|
225
|
+
keys: {
|
|
226
|
+
current: {},
|
|
227
|
+
prev: {}
|
|
228
|
+
},
|
|
229
|
+
path: path,
|
|
230
|
+
type: type
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
|
|
233
234
|
var context = context$1.createContext(function (ctxRef, parentContext) {
|
|
234
235
|
return parentContext
|
|
235
236
|
? null
|
|
@@ -239,15 +240,8 @@ var context = context$1.createContext(function (ctxRef, parentContext) {
|
|
|
239
240
|
groups: {}
|
|
240
241
|
},
|
|
241
242
|
inclusion: {},
|
|
242
|
-
isolate:
|
|
243
|
-
|
|
244
|
-
keys: {
|
|
245
|
-
current: {},
|
|
246
|
-
prev: {}
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
mode: [Modes.ALL],
|
|
250
|
-
testCursor: createCursor()
|
|
243
|
+
isolate: generateIsolate(IsolateTypes.DEFAULT),
|
|
244
|
+
mode: [Modes.ALL]
|
|
251
245
|
}, ctxRef);
|
|
252
246
|
});
|
|
253
247
|
|
|
@@ -573,30 +567,9 @@ function deferThrow(message) {
|
|
|
573
567
|
}, 0);
|
|
574
568
|
}
|
|
575
569
|
|
|
576
|
-
function usePath() {
|
|
577
|
-
var context$1 = context.useX();
|
|
578
|
-
return context$1.testCursor.getCursor();
|
|
579
|
-
}
|
|
580
|
-
function useCursorAt() {
|
|
581
|
-
var context$1 = context.useX();
|
|
582
|
-
return context$1.testCursor.cursorAt();
|
|
583
|
-
}
|
|
584
|
-
function moveForward() {
|
|
585
|
-
var context$1 = context.useX();
|
|
586
|
-
return context$1.testCursor.next();
|
|
587
|
-
}
|
|
588
|
-
function addLevel() {
|
|
589
|
-
var context$1 = context.useX();
|
|
590
|
-
context$1.testCursor.addLevel();
|
|
591
|
-
}
|
|
592
|
-
function removeLevel() {
|
|
593
|
-
var context$1 = context.useX();
|
|
594
|
-
context$1.testCursor.removeLevel();
|
|
595
|
-
}
|
|
596
|
-
|
|
597
570
|
function usePrevKeys() {
|
|
598
571
|
var prev = useTestObjects()[0].prev;
|
|
599
|
-
return asArray(getCurrent(prev,
|
|
572
|
+
return asArray(getCurrent(prev, useCurrentPath())).reduce(function (prevKeys, testObject) {
|
|
600
573
|
if (!(testObject instanceof VestTest)) {
|
|
601
574
|
return prevKeys;
|
|
602
575
|
}
|
|
@@ -608,12 +581,11 @@ function usePrevKeys() {
|
|
|
608
581
|
}, {});
|
|
609
582
|
}
|
|
610
583
|
function usePrevTestByKey(key) {
|
|
611
|
-
var prev =
|
|
584
|
+
var prev = useIsolate().keys.prev;
|
|
612
585
|
return prev[key];
|
|
613
586
|
}
|
|
614
587
|
function useRetainTestKey(key, testObject) {
|
|
615
|
-
var
|
|
616
|
-
var current = context$1.isolate.keys.current;
|
|
588
|
+
var current = useIsolate().keys.current;
|
|
617
589
|
if (isNullish(current[key])) {
|
|
618
590
|
current[key] = testObject;
|
|
619
591
|
}
|
|
@@ -625,23 +597,42 @@ function useRetainTestKey(key, testObject) {
|
|
|
625
597
|
function isolate(_a, callback) {
|
|
626
598
|
var _b = _a.type, type = _b === void 0 ? IsolateTypes.DEFAULT : _b;
|
|
627
599
|
invariant(isFunction(callback));
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
return context.run({ isolate: { type: type, keys: keys } }, function () {
|
|
634
|
-
addLevel();
|
|
635
|
-
keys.prev = usePrevKeys();
|
|
636
|
-
useSetTests(function (tests) { return setValueAtPath(tests, path, []); });
|
|
600
|
+
// Generate a new Isolate layer, with its own cursor
|
|
601
|
+
var isolate = generateIsolate(type, useCurrentPath());
|
|
602
|
+
var output = context.run({ isolate: isolate }, function () {
|
|
603
|
+
isolate.keys.prev = usePrevKeys();
|
|
604
|
+
useSetTests(function (tests) { return setValueAtPath(tests, isolate.path, []); });
|
|
637
605
|
var res = callback();
|
|
638
|
-
removeLevel();
|
|
639
|
-
moveForward();
|
|
640
606
|
return res;
|
|
641
607
|
});
|
|
608
|
+
// Move the parent cursor forward once we're done
|
|
609
|
+
useCursor().next();
|
|
610
|
+
return output;
|
|
611
|
+
}
|
|
612
|
+
/**
|
|
613
|
+
* @returns {Isolate} The current isolate layer
|
|
614
|
+
*/
|
|
615
|
+
function useIsolate() {
|
|
616
|
+
return context.useX().isolate;
|
|
642
617
|
}
|
|
618
|
+
/**
|
|
619
|
+
* @returns {boolean} Whether or not the current isolate allows tests to be reordered
|
|
620
|
+
*/
|
|
643
621
|
function shouldAllowReorder() {
|
|
644
|
-
return
|
|
622
|
+
return useIsolate().type === IsolateTypes.EACH;
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* @returns {number[]} The current cursor path of the isolate tree
|
|
626
|
+
*/
|
|
627
|
+
function useCurrentPath() {
|
|
628
|
+
var isolate = useIsolate();
|
|
629
|
+
return isolate.path.concat(isolate.cursor.current());
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* @returns {IsolateCursor} The cursor object for the current isolate
|
|
633
|
+
*/
|
|
634
|
+
function useCursor() {
|
|
635
|
+
return useIsolate().cursor;
|
|
645
636
|
}
|
|
646
637
|
|
|
647
638
|
var Severity;
|
|
@@ -695,6 +686,11 @@ function matchingFieldName(testObject, fieldName) {
|
|
|
695
686
|
return !!(fieldName && testObject.fieldName === fieldName);
|
|
696
687
|
}
|
|
697
688
|
|
|
689
|
+
var nonMatchingGroupName = bindNot(matchingGroupName);
|
|
690
|
+
function matchingGroupName(testObject, groupName) {
|
|
691
|
+
return testObject.groupName === groupName;
|
|
692
|
+
}
|
|
693
|
+
|
|
698
694
|
function either(a, b) {
|
|
699
695
|
return !!a !== !!b;
|
|
700
696
|
}
|
|
@@ -719,6 +715,15 @@ function hasFailuresByTestObjects(severityKey, fieldName) {
|
|
|
719
715
|
return hasFailuresByTestObject(testObject, severityKey, fieldName);
|
|
720
716
|
});
|
|
721
717
|
}
|
|
718
|
+
function hasGroupFailuresByTestObjects(severityKey, groupName, fieldName) {
|
|
719
|
+
var testObjects = useTestsFlat();
|
|
720
|
+
return testObjects.some(function (testObject) {
|
|
721
|
+
if (nonMatchingGroupName(testObject, groupName)) {
|
|
722
|
+
return false;
|
|
723
|
+
}
|
|
724
|
+
return hasFailuresByTestObject(testObject, severityKey, fieldName);
|
|
725
|
+
});
|
|
726
|
+
}
|
|
722
727
|
/**
|
|
723
728
|
* Determines whether a certain test profile has failures.
|
|
724
729
|
*/
|
|
@@ -736,7 +741,7 @@ function hasFailuresByTestObject(testObject, severityKey, fieldName) {
|
|
|
736
741
|
}
|
|
737
742
|
|
|
738
743
|
// eslint-disable-next-line max-statements, complexity
|
|
739
|
-
function
|
|
744
|
+
function shouldAddValidProperty(fieldName) {
|
|
740
745
|
if (fieldIsOmitted(fieldName)) {
|
|
741
746
|
return true;
|
|
742
747
|
}
|
|
@@ -747,36 +752,78 @@ function shouldAddValidProp(fieldName) {
|
|
|
747
752
|
if (isEmpty(testObjects)) {
|
|
748
753
|
return false;
|
|
749
754
|
}
|
|
755
|
+
// Does the given field have any pending tests that are not optional?
|
|
750
756
|
if (hasNonOptionalIncomplete(fieldName)) {
|
|
751
757
|
return false;
|
|
752
758
|
}
|
|
753
759
|
return noMissingTests(fieldName);
|
|
754
760
|
}
|
|
761
|
+
function shouldAddValidPropertyInGroup(groupName, fieldName) {
|
|
762
|
+
if (fieldIsOmitted(fieldName)) {
|
|
763
|
+
return true;
|
|
764
|
+
}
|
|
765
|
+
if (hasGroupFailuresByTestObjects(Severity.ERRORS, groupName, fieldName)) {
|
|
766
|
+
return false;
|
|
767
|
+
}
|
|
768
|
+
// Do the given group/field have any pending tests that are not optional?
|
|
769
|
+
if (hasNonOptionalIncompleteByGroup(groupName, fieldName)) {
|
|
770
|
+
return false;
|
|
771
|
+
}
|
|
772
|
+
return noMissingTestsByGroup(groupName, fieldName);
|
|
773
|
+
}
|
|
755
774
|
function fieldIsOmitted(fieldName) {
|
|
756
775
|
if (!fieldName) {
|
|
757
776
|
return false;
|
|
758
777
|
}
|
|
759
778
|
return useOptionalFieldApplied(fieldName) === true;
|
|
760
779
|
}
|
|
780
|
+
// Does the given field have any pending tests that are not optional?
|
|
761
781
|
function hasNonOptionalIncomplete(fieldName) {
|
|
762
782
|
return isNotEmpty(useAllIncomplete().filter(function (testObject) {
|
|
763
|
-
|
|
783
|
+
return isOptionalFieldIncomplete(testObject, fieldName);
|
|
784
|
+
}));
|
|
785
|
+
}
|
|
786
|
+
// Do the given group/field have any pending tests that are not optional?
|
|
787
|
+
function hasNonOptionalIncompleteByGroup(groupName, fieldName) {
|
|
788
|
+
return isNotEmpty(useAllIncomplete().filter(function (testObject) {
|
|
789
|
+
if (nonMatchingGroupName(testObject, groupName)) {
|
|
764
790
|
return false;
|
|
765
791
|
}
|
|
766
|
-
return
|
|
792
|
+
return isOptionalFieldIncomplete(testObject, fieldName);
|
|
767
793
|
}));
|
|
768
794
|
}
|
|
795
|
+
function isOptionalFieldIncomplete(testObject, fieldName) {
|
|
796
|
+
if (nonMatchingFieldName(testObject, fieldName)) {
|
|
797
|
+
return false;
|
|
798
|
+
}
|
|
799
|
+
return useOptionalFieldConfig(testObject.fieldName) !== true;
|
|
800
|
+
}
|
|
769
801
|
function noMissingTests(fieldName) {
|
|
770
802
|
var testObjects = useTestsFlat();
|
|
771
803
|
return testObjects.every(function (testObject) {
|
|
772
804
|
if (nonMatchingFieldName(testObject, fieldName)) {
|
|
773
805
|
return true;
|
|
774
806
|
}
|
|
775
|
-
return (
|
|
776
|
-
testObject.isTested() ||
|
|
777
|
-
testObject.isOmitted());
|
|
807
|
+
return missingTestsLogic(testObject, fieldName);
|
|
778
808
|
});
|
|
779
809
|
}
|
|
810
|
+
function noMissingTestsByGroup(groupName, fieldName) {
|
|
811
|
+
var testObjects = useTestsFlat();
|
|
812
|
+
return testObjects.every(function (testObject) {
|
|
813
|
+
if (nonMatchingGroupName(testObject, groupName)) {
|
|
814
|
+
return true;
|
|
815
|
+
}
|
|
816
|
+
return missingTestsLogic(testObject, fieldName);
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
function missingTestsLogic(testObject, fieldName) {
|
|
820
|
+
if (nonMatchingFieldName(testObject, fieldName)) {
|
|
821
|
+
return true;
|
|
822
|
+
}
|
|
823
|
+
return (useOptionalFieldConfig(testObject.fieldName) === true ||
|
|
824
|
+
testObject.isTested() ||
|
|
825
|
+
testObject.isOmitted());
|
|
826
|
+
}
|
|
780
827
|
|
|
781
828
|
function useSummary() {
|
|
782
829
|
var summary = context.useX().summary;
|
|
@@ -798,7 +845,7 @@ function genTestsSummary() {
|
|
|
798
845
|
appendToGroup(summary.groups, testObject);
|
|
799
846
|
return summary;
|
|
800
847
|
}, summary);
|
|
801
|
-
summary.valid =
|
|
848
|
+
summary.valid = shouldAddValidProperty();
|
|
802
849
|
return countFailures(summary);
|
|
803
850
|
}
|
|
804
851
|
function appendToTest(tests, testObject) {
|
|
@@ -807,7 +854,7 @@ function appendToTest(tests, testObject) {
|
|
|
807
854
|
tests[testObject.fieldName].valid =
|
|
808
855
|
tests[testObject.fieldName].valid === false
|
|
809
856
|
? false
|
|
810
|
-
:
|
|
857
|
+
: shouldAddValidProperty(testObject.fieldName);
|
|
811
858
|
}
|
|
812
859
|
/**
|
|
813
860
|
* Appends to a group object if within a group
|
|
@@ -819,6 +866,10 @@ function appendToGroup(groups, testObject) {
|
|
|
819
866
|
}
|
|
820
867
|
groups[groupName] = groups[groupName] || {};
|
|
821
868
|
groups[groupName][testObject.fieldName] = appendTestObject(groups[groupName], testObject);
|
|
869
|
+
groups[groupName][testObject.fieldName].valid =
|
|
870
|
+
groups[groupName][testObject.fieldName].valid === false
|
|
871
|
+
? false
|
|
872
|
+
: shouldAddValidPropertyInGroup(groupName, testObject.fieldName);
|
|
822
873
|
}
|
|
823
874
|
/**
|
|
824
875
|
* Counts the failed tests and adds global counters
|
|
@@ -961,9 +1012,30 @@ function hasFailuresByGroup(severityKey, groupName, fieldName) {
|
|
|
961
1012
|
}
|
|
962
1013
|
|
|
963
1014
|
function isValid(fieldName) {
|
|
964
|
-
var _a;
|
|
965
1015
|
var summary = useSummary();
|
|
966
|
-
return fieldName
|
|
1016
|
+
return fieldName
|
|
1017
|
+
? Boolean(isFieldValid(summary.tests, fieldName))
|
|
1018
|
+
: summary.valid;
|
|
1019
|
+
}
|
|
1020
|
+
function isValidByGroup(groupName, fieldName) {
|
|
1021
|
+
var summary = useSummary();
|
|
1022
|
+
var group = summary.groups[groupName];
|
|
1023
|
+
if (!group) {
|
|
1024
|
+
return false;
|
|
1025
|
+
}
|
|
1026
|
+
if (fieldName) {
|
|
1027
|
+
return isFieldValid(group, fieldName);
|
|
1028
|
+
}
|
|
1029
|
+
for (var fieldName_1 in group) {
|
|
1030
|
+
if (!isFieldValid(group, fieldName_1)) {
|
|
1031
|
+
return false;
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
return true;
|
|
1035
|
+
}
|
|
1036
|
+
function isFieldValid(testContainer, fieldName) {
|
|
1037
|
+
var _a;
|
|
1038
|
+
return !!((_a = testContainer[fieldName]) === null || _a === void 0 ? void 0 : _a.valid);
|
|
967
1039
|
}
|
|
968
1040
|
|
|
969
1041
|
var cache$1 = createCache(1);
|
|
@@ -984,6 +1056,7 @@ function produceSuiteResult() {
|
|
|
984
1056
|
hasWarnings: context.bind(ref, hasWarnings),
|
|
985
1057
|
hasWarningsByGroup: context.bind(ref, hasWarningsByGroup),
|
|
986
1058
|
isValid: context.bind(ref, isValid),
|
|
1059
|
+
isValidByGroup: context.bind(ref, isValidByGroup),
|
|
987
1060
|
suiteName: suiteName
|
|
988
1061
|
});
|
|
989
1062
|
}));
|
|
@@ -1581,7 +1654,7 @@ function optional(optionals) {
|
|
|
1581
1654
|
}
|
|
1582
1655
|
}
|
|
1583
1656
|
|
|
1584
|
-
|
|
1657
|
+
/******************************************************************************
|
|
1585
1658
|
Copyright (c) Microsoft Corporation.
|
|
1586
1659
|
|
|
1587
1660
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -1724,30 +1797,23 @@ function useTestAtCursor(newTestObject) {
|
|
|
1724
1797
|
return nextTest;
|
|
1725
1798
|
}
|
|
1726
1799
|
function removeAllNextTestsInIsolate() {
|
|
1727
|
-
var
|
|
1728
|
-
var prevTests = testObjects.prev;
|
|
1729
|
-
var current = getCurrent(prevTests, usePath());
|
|
1730
|
-
var cursorAt = useCursorAt();
|
|
1731
|
-
current.splice(cursorAt);
|
|
1800
|
+
var cursorAt = useCursor().current();
|
|
1732
1801
|
// We actually don't mind mutating the state directly (as can be seen above). There is no harm in it
|
|
1733
1802
|
// since we're only touching the "prev" state. The reason we still use the setter function is
|
|
1734
1803
|
// to prevent future headaches if we ever do need to rely on prev-state immutability.
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
return
|
|
1738
|
-
prev: prevTests,
|
|
1739
|
-
current: current
|
|
1740
|
-
});
|
|
1804
|
+
useSetTests(function (current) {
|
|
1805
|
+
current.splice(cursorAt);
|
|
1806
|
+
return current;
|
|
1741
1807
|
});
|
|
1742
1808
|
}
|
|
1743
1809
|
function useSetTestAtCursor(testObject) {
|
|
1744
|
-
var cursorPath =
|
|
1810
|
+
var cursorPath = useCurrentPath();
|
|
1745
1811
|
useSetTests(function (tests) {
|
|
1746
1812
|
return setValueAtPath(tests, cursorPath, testObject);
|
|
1747
1813
|
});
|
|
1748
1814
|
}
|
|
1749
1815
|
function useGetTestAtCursor(tests) {
|
|
1750
|
-
var cursorPath =
|
|
1816
|
+
var cursorPath = useCurrentPath();
|
|
1751
1817
|
return valueAtPath(tests, cursorPath);
|
|
1752
1818
|
}
|
|
1753
1819
|
function testReorderDetected(prevTest, newTest) {
|
|
@@ -1771,16 +1837,17 @@ function handleKeyTest(key, newTestObject) {
|
|
|
1771
1837
|
|
|
1772
1838
|
// eslint-disable-next-line max-statements
|
|
1773
1839
|
function registerPrevRunTest(testObject) {
|
|
1840
|
+
var cursor = useCursor();
|
|
1774
1841
|
if (shouldSkipBasedOnMode(testObject)) {
|
|
1775
1842
|
testObject.skip();
|
|
1776
1843
|
useTestAtCursor(testObject);
|
|
1777
|
-
|
|
1844
|
+
cursor.next();
|
|
1778
1845
|
return testObject;
|
|
1779
1846
|
}
|
|
1780
1847
|
var prevRunTest = useTestAtCursor(testObject);
|
|
1781
1848
|
if (isOmitted()) {
|
|
1782
1849
|
prevRunTest.omit();
|
|
1783
|
-
|
|
1850
|
+
cursor.next();
|
|
1784
1851
|
return prevRunTest;
|
|
1785
1852
|
}
|
|
1786
1853
|
if (isExcluded(testObject)) {
|
|
@@ -1789,13 +1856,13 @@ function registerPrevRunTest(testObject) {
|
|
|
1789
1856
|
// This mostly means that we're probably giving
|
|
1790
1857
|
// up on this async test intentionally.
|
|
1791
1858
|
prevRunTest.skip(isExcludedIndividually());
|
|
1792
|
-
|
|
1859
|
+
cursor.next();
|
|
1793
1860
|
return prevRunTest;
|
|
1794
1861
|
}
|
|
1795
1862
|
cancelOverriddenPendingTest(prevRunTest, testObject);
|
|
1796
1863
|
useSetTestAtCursor(testObject);
|
|
1797
|
-
moveForward();
|
|
1798
1864
|
registerTestObjectByTier(testObject);
|
|
1865
|
+
cursor.next();
|
|
1799
1866
|
return testObject;
|
|
1800
1867
|
}
|
|
1801
1868
|
function registerTestObjectByTier(testObject) {
|
|
@@ -1818,7 +1885,7 @@ function bindTestMemo(test) {
|
|
|
1818
1885
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
1819
1886
|
args[_i - 1] = arguments[_i];
|
|
1820
1887
|
}
|
|
1821
|
-
var cursorAt =
|
|
1888
|
+
var cursorAt = useCursor().current();
|
|
1822
1889
|
var _a = args.reverse(), deps = _a[0], testFn = _a[1], msg = _a[2];
|
|
1823
1890
|
// Implicit dependency for more specificity
|
|
1824
1891
|
var dependencies = [useSuiteId(), fieldName, cursorAt].concat(deps);
|
|
@@ -1880,7 +1947,7 @@ function warn() {
|
|
|
1880
1947
|
ctx.currentTest.warn();
|
|
1881
1948
|
}
|
|
1882
1949
|
|
|
1883
|
-
var VERSION = "4.
|
|
1950
|
+
var VERSION = "4.4.1";
|
|
1884
1951
|
|
|
1885
1952
|
Object.defineProperty(exports, 'enforce', {
|
|
1886
1953
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t=require("n4s"),e=require("context"),r=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function o(n){return void 0===n}function s(n){return[].concat(n)}var c=Object.assign;function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return function(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}(n.length,t)}function l(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function p(n){function t(n){return e.findIndex((function(t){var e=t[0];return f(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),function(n,t){return l(n.length,t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function d(n){return!!Array.isArray(n)}function v(n){return null===n}var h,g,E=i(v);function N(n){return"function"==typeof n}function m(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return N(n)?n.apply(void 0,t):n}function y(n,t){var e;return null!==(e=m(n))&&void 0!==e?e:t}function R(n){return(n=s(n))[n.length-1]}function S(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];d(u)?e.push(S(u,t)):(u=t(u),E(u)&&e.push(u))}return e}function C(n,t,e){return T(n,t)[R(t)]=e,n}function b(n){return s(n).reduce((function(n,t){return d(t)?n.concat(b(t)):s(n).concat(t)}),[])}function T(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=y(n[r],[]),n=n[r]}return n}function _(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return R(t)},getCursor:function(){return s(t)},next:function(){return t[t.length-1]++,R(t)},removeLevel:function(){t.pop()},reset:n}}!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(h||(h={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(g||(g={}));var I=e.createContext((function(n,t){return t?null:c({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:h.DEFAULT,keys:{current:{},prev:{}}},mode:[g.ALL],testCursor:_()},n)}));function O(){return I.useX().stateRef}function A(){return O().suiteId()[0]}function k(){return O().testCallbacks()}function L(n){return x()[0][n]}function x(){return O().optionalFields()}function F(n,t){(0,x()[1])((function(e){var r;return c(e,((r={})[n]=m(t,e[n]),r))}))}function U(n){var t;return null===(t=L(n))||void 0===t?void 0:t[0]}function W(){return O().testObjects()}function G(){P((function(n){return n}))}function P(n){(0,W()[1])((function(t){return{prev:t.prev,current:s(n(t.current))}}))}function D(){return H().filter((function(n){return n.isPending()}))}var w,X=p();function H(){var n=W()[0].current;return X([n],(function(){return b(n)}))}function K(n){H().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(w||(w={}));var M,q,j=function(){function n(n,t,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=w.Error,this.status=B,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){(function(n,t){return o(n)&&u(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==$||(this.status=n)},n.prototype.warns=function(){return this.severity===w.Warning},n.prototype.setPending=function(){this.setStatus(Q)},n.prototype.fail=function(){this.setStatus(this.warns()?J:Y)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(z)},n.prototype.warn=function(){this.severity=w.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(V)},n.prototype.cancel=function(){this.setStatus(Z),G()},n.prototype.reset=function(){this.status=B,G()},n.prototype.omit=function(){this.setStatus($)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(Q)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals($)},n.prototype.isUntested=function(){return this.statusEquals(B)},n.prototype.isFailing=function(){return this.statusEquals(Y)},n.prototype.isCanceled=function(){return this.statusEquals(Z)},n.prototype.isSkipped=function(){return this.statusEquals(V)},n.prototype.isPassing=function(){return this.statusEquals(z)},n.prototype.isWarning=function(){return this.statusEquals(J)},n.prototype.statusEquals=function(n){return this.status===n},n}(),B="UNTESTED",V="SKIPPED",Y="FAILED",J="WARNING",z="PASSING",Q="PENDING",Z="CANCELED",$="OMITTED";function nn(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?m(t):t)}function tn(n){function t(n,t,u){return r.references.push(),e(n,m(t,u)),function(){return[r.references[n],function(t){return e(n,m(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,N(t=u[t][1])&&t(e,i),N(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function en(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function rn(n){return v(n)||o(n)}function un(n){setTimeout((function(){throw Error(n)}),0)}function on(){return I.useX().testCursor.getCursor()}function sn(){return I.useX().testCursor.cursorAt()}function cn(){return I.useX().testCursor.next()}function an(n,t){n=void 0===(n=n.type)?h.DEFAULT:n,nn(N(t));var e={current:{},prev:{}},r=on();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=s(T(W()[0].prev,on())).reduce((function(n,t){return t instanceof j&&!rn(t.key)?(n[t.key]=t,n):n}),{}),P((function(n){return C(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),cn(),n}))}function fn(n){return n===M.ERRORS?q.ERROR_COUNT:q.WARN_COUNT}function ln(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function pn(n){return!n||(function(n){return"number"==typeof n}(n)?0===n:ln(n,"length")?f(n,0):"object"==typeof n&&f(Object.keys(n),0))}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(M||(M={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(q||(q={}));var dn=i(pn);function vn(n,t){return!!t&&!hn(n,t)}function hn(n,t){return!(!t||n.fieldName!==t)}function gn(n){return function(n,t){return H().some((function(e){return function(n,t,e){return!(!n.hasFailures()||vn(n,e)||function(n,t){return function(n,t){return!!n!=!!t}(n===M.WARNINGS,t.warns())}(t,n))}(e,n,t)}))}(M.ERRORS,n)}function En(n){return!!function(n){return!!n&&!0===function(n){var t;return null===(t=L(n))||void 0===t?void 0:t[1]}(n)}(n)||!gn(n)&&(!pn(H())&&!function(n){return dn(D().filter((function(t){return!vn(t,n)&&!0!==U(t.fieldName)})))}(n)&&function(n){return H().every((function(t){return!!vn(t,n)||(!0===U(t.fieldName)||t.isTested()||t.isOmitted())}))}(n))}function Nn(){var n=I.useX().summary;return nn(n),n}function mn(){var n=H(),t=c({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=yn(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&En(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=yn(n[e],t))}(n.groups,t),n}),t),t.valid=En(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function yn(n,t){function e(n){var t=fn(n);i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||c({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(M.ERRORS):t.isWarning()&&e(M.WARNINGS)),i}function Rn(n){return l(n,0)}function Sn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={},u=fn(t);for(e in n)Rn(n[e][u])&&(r[e]=n[e][t]||[]);return r}(n,t)}function Cn(n){return Tn(M.ERRORS,n)}function bn(n){return Tn(M.WARNINGS,n)}function Tn(n,t){return Sn(Nn().tests,n,t)}function _n(n,t){return On(n,M.ERRORS,t)}function In(n,t){return On(n,M.WARNINGS,t)}function On(n,t,e){return Sn(Nn().groups[n],t,e)}function An(n){return Ln(q.ERROR_COUNT,n)}function kn(n){return Ln(q.WARN_COUNT,n)}function Ln(n,t){var e,r=Nn();return Rn(t?null===(e=r.tests[t])||void 0===e?void 0:e[n]:r[n])}function xn(n,t){return Un(M.ERRORS,n,t)}function Fn(n,t){return Un(M.WARNINGS,n,t)}function Un(n,t,e){var r,u,i=Nn();if(n=fn(n),!(t=i.groups[t]))return!1;if(e)return Rn(null===(r=t[e])||void 0===r?void 0:r[n]);for(var o in t)if(Rn(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function Wn(n){var t,e=Nn();return n?!(null===(t=e.tests[n])||void 0===t||!t.valid):e.valid}var Gn=p(1);function Pn(){var n=H(),t={stateRef:O()};return Gn([n],I.bind(t,(function(){var n=mn(),t=O().suiteName()[0],e={summary:n};return c(n,{getErrors:I.bind(e,Cn),getErrorsByGroup:I.bind(e,_n),getWarnings:I.bind(e,bn),getWarningsByGroup:I.bind(e,In),hasErrors:I.bind(e,An),hasErrorsByGroup:I.bind(e,xn),hasWarnings:I.bind(e,kn),hasWarningsByGroup:I.bind(e,Fn),isValid:I.bind(e,Wn),suiteName:t})})))}function Dn(n){var t=D();return!pn(t)&&(n?t.some((function(t){return hn(t,n)})):dn(t))}var wn=p(20);function Xn(){var n=H(),t={stateRef:O()};return wn([n],I.bind(t,(function(){return c({},Pn(),{done:I.bind(t,qn)})})))}function Hn(n,t,e){return!(N(n)&&(!t||e.tests[t]&&!pn(e.tests[t].testCount)))}function Kn(n){return!(Dn()&&(!n||Dn(n)))}var Mn,qn=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Xn(),Hn(e,n,t))return t;var r=function(){return e(Pn())};return Kn(n)?(r(),t):(jn(r,n),t)};function jn(n,t){(0,k()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function Bn(n){return n.forEach((function(n){return n()}))}function Vn(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=(n[t]||[]).filter((function(n){return n!==e}))}}}}}();return n.on(Mn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=k()[0].fieldCallbacks;n&&!Dn(n)&&d(t[n])&&Bn(t[n])}(t.fieldName),Dn()||n.emit(Mn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Mn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){t[n.fieldName]&&(n.omit(),F(n.fieldName,(function(n){return[n[0],!0]})))}if(!pn(x()[0])){var t={};P((function(e){return S(e,(function(e){if(ln(t,e.fieldName))n(e);else{var r=U(e.fieldName);N(r)&&(t[e.fieldName]=r(),n(e))}return e}))}))}}()})),n.on(Mn.ALL_RUNNING_TESTS_FINISHED,(function(){Bn(k()[0].doneCallbacks)})),n.on(Mn.REMOVE_FIELD,(function(n){K((function(t){hn(t,n)&&(t.cancel(),function(n){P((function(t){return S(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Mn.RESET_FIELD,(function(n){K((function(t){hn(t,n)&&t.reset()}))})),n}function Yn(){var n=I.useX();return nn(n.bus),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Mn||(Mn={}));function Jn(){return!!I.useX().skipped}function zn(n){return $n(0,"tests",n)}function Qn(n){return $n(1,"tests",n)}function Zn(n){var t=n.fieldName;if(n=n.groupName,Jn())return!0;var e=I.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=I.useX().exclusion.groups;return ln(t,n)?!1===t[n]:tt()}(n))return!0;if(!0===r.groups[n])return!i&&(!!nt(u)||!1===u[t])}return!!function(n){return!!tt()&&!n}(n)||!i&&(!!nt(u)&&!m(e[t]))}function $n(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&s(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function nt(n){for(var t in n)if(!0===n[t])return!0;return!1}function tt(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function et(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function rt(n){return!(!function(n){return I.useX().mode[0]===n}(g.EAGER)||!gn(n.fieldName))}function ut(){return!!I.useX().omitted}function it(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function ot(n){return n&&N(n.then)}function st(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function ct(n){var t=n.asyncTest,e=n.message;if(ot(t)){var r=Yn().emit,i=O(),o=I.bind({stateRef:i},(function(){G(),r(Mn.TEST_COMPLETED,n)}));i=I.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:e,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function at(n){var t=Yn(),e=function(n){return I.run({currentTest:n},(function(){return n.run()}))}(n);try{ot(e)?(n.asyncTest=e,n.setPending(),ct(n)):t.emit(Mn.TEST_COMPLETED,n)}catch(t){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function ft(n){var t=W()[0].prev;return pn(t)?(lt(n),n):(t=function(n){var t=on();return function(n,t){return T(n,t)[R(t)]}(n,t)}(t),rn(n.key)?(function(n,t){return dn(n)&&!st(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===h.EACH||un("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.'))}(t,n),function(){var n=W(),t=n[1],e=n[0].prev;n=T(e,on());var r=sn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),lt(n=y(t,n)),n):(lt(n=function(n,t){var e=function(n){return I.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=I.useX().isolate.keys.current;rn(e[n])?e[n]=t:un('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function lt(n){var t=on();P((function(e){return C(e,t,n)}))}function pt(n){if(rt(n))return n.skip(),ft(n),cn(),n;var t=ft(n);return ut()?(t.omit(),cn(),t):Zn(n)?(t.skip(Jn()),cn(),t):(function(n,t){t!==n&&st(n,t)&&n.isPending()&&n.cancel()}(t,n),lt(n),cn(),function(n){n.isUntested()?at(n):ot(n.asyncTest)&&(n.setPending(),ct(n))}(n),n)}function dt(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=N(t[1])?t:it([void 0],t,!0);t=r[0],e=r[1],r=r[2],nn(u(n),ht("fieldName","string")),nn(N(e),ht("Test callback","function"));var i=I.useX();return pt(t=new j(n,e,{message:t,groupName:i.groupName,key:r}))}zn.group=function(n){return $n(0,"groups",n)},Qn.group=function(n){return $n(1,"groups",n)};var vt=c(dt,{memo:function(n){var t=p(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=sn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[A(),e,u].concat(i),v(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):pt(r[1])}}(dt)});function ht(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.3.4",exports.context=I,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];n=n[1],nn(N(e),"vest.create: Expected callback to be a function.");var u=Vn(),i=tn();return n={stateRef:en(i,{suiteId:r(),suiteName:n}),bus:u},c(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:h.SUITE},(function(){e.apply(void 0,n)})),u.emit(Mn.SUITE_CALLBACK_DONE_RUNNING),Xn()})),{get:I.bind(n,Pn),remove:I.bind(n,(function(n){u.emit(Mn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Mn.RESET_FIELD,n)}))})},exports.each=function(n,t){nn(N(t),"each callback must be a function"),an({type:h.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(g.EAGER)},exports.group=function(n,t){nn(u(n),et("name must be a string")),nn(N(t),et("callback must be a function")),an({type:h.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){var t=I.useX(),e=t.inclusion;return t=t.exclusion,nn(u(n)),e[n]=y(t.tests[n],!0),{when:function(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return ln(r.tests,n)?y(r.tests[n],!0):u(t)?!!r.tests[t]:m(t,m(Pn))}}}},exports.omitWhen=function(n,t){an({type:h.OMIT_WHEN},(function(){I.run({omitted:ut()||m(n,m(Pn))},(function(){return t()}))}))},exports.only=zn,exports.optional=function(n){if(d(n)||u(n))s(n).forEach((function(n){F(n,[!0,!1])}));else for(var t in n)F(t,[n[t],!1])},exports.skip=Qn,exports.skipWhen=function(n,t){an({type:h.SKIP_WHEN},(function(){I.run({skipped:Jn()||m(n,m(Pn))},(function(){return t()}))}))},exports.test=vt,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");nn(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t=require("n4s"),r=require("context"),e=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function o(n){return void 0===n}function s(n){return[].concat(n)}var c=Object.assign;function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return function(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}(n.length,t)}function l(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function p(n){function t(n){return r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))}void 0===n&&(n=1);var r=[],e=function(t,u){var i=e.get(t);return i?i[1]:(u=u(),r.unshift([t.concat(),u]),function(n,t){return l(n.length,t)}(r,n)&&(r.length=n),u)};return e.invalidate=function(n){-1<(n=t(n))&&r.splice(n,1)},e.get=function(n){return r[t(n)]||null},e}function d(n){return!!Array.isArray(n)}function v(n){return null===n}var h,E,g=i(v);function N(n){return"function"==typeof n}function m(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return N(n)?n.apply(void 0,t):n}function y(n,t){var r;return null!==(r=m(n))&&void 0!==r?r:t}function R(n){return(n=s(n))[n.length-1]}function S(n,t){for(var r=[],e=0;e<n.length;e++){var u=n[e];d(u)?r.push(S(u,t)):(u=t(u),g(u)&&r.push(u))}return r}function b(n,t,r){return C(n,t)[R(t)]=r,n}function T(n){return s(n).reduce((function(n,t){return d(t)?n.concat(T(t)):s(n).concat(t)}),[])}function C(n,t){var r=0;for(t=t.slice(0,-1);r<t.length;r++){var e=t[r];n[e]=y(n[e],[]),n=n[e]}return n}function _(){var n=0;return{current:function(){return n},next:function(){n++}}}function I(n,t){return void 0===t&&(t=[]),{cursor:_(),keys:{current:{},prev:{}},path:t,type:n}}!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(h||(h={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(E||(E={}));var O=r.createContext((function(n,t){return t?null:c({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:I(h.DEFAULT),mode:[E.ALL]},n)}));function A(){return O.useX().stateRef}function k(){return A().suiteId()[0]}function x(){return A().testCallbacks()}function L(n){return F()[0][n]}function F(){return A().optionalFields()}function U(n,t){(0,F()[1])((function(r){var e;return c(r,((e={})[n]=m(t,r[n]),e))}))}function W(n){var t;return null===(t=L(n))||void 0===t?void 0:t[0]}function G(){return A().testObjects()}function P(){D((function(n){return n}))}function D(n){(0,G()[1])((function(t){return{prev:t.prev,current:s(n(t.current))}}))}function w(){return K().filter((function(n){return n.isPending()}))}var X,H=p();function K(){var n=G()[0].current;return H([n],(function(){return T(n)}))}function M(n){K().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(X||(X={}));var q,j,B=function(){function n(n,t,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=X.Error,this.status=V,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){(function(n,t){return o(n)&&u(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==nn||(this.status=n)},n.prototype.warns=function(){return this.severity===X.Warning},n.prototype.setPending=function(){this.setStatus(Z)},n.prototype.fail=function(){this.setStatus(this.warns()?z:J)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Q)},n.prototype.warn=function(){this.severity=X.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(Y)},n.prototype.cancel=function(){this.setStatus($),P()},n.prototype.reset=function(){this.status=V,P()},n.prototype.omit=function(){this.setStatus(nn)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(Z)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(nn)},n.prototype.isUntested=function(){return this.statusEquals(V)},n.prototype.isFailing=function(){return this.statusEquals(J)},n.prototype.isCanceled=function(){return this.statusEquals($)},n.prototype.isSkipped=function(){return this.statusEquals(Y)},n.prototype.isPassing=function(){return this.statusEquals(Q)},n.prototype.isWarning=function(){return this.statusEquals(z)},n.prototype.statusEquals=function(n){return this.status===n},n}(),V="UNTESTED",Y="SKIPPED",J="FAILED",z="WARNING",Q="PASSING",Z="PENDING",$="CANCELED",nn="OMITTED";function tn(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?m(t):t)}function rn(n){function t(n,t,u){return e.references.push(),r(n,m(t,u)),function(){return[e.references[n],function(t){return r(n,m(t,e.references[n]))}]}}function r(t,r){var i=e.references[t];e.references[t]=r,N(t=u[t][1])&&t(r,i),N(n)&&n()}var e={references:[]},u=[];return{registerStateKey:function(n,r){var e=u.length;return u.push([n,r]),t(e,n)},reset:function(){var n=e.references;e.references=[],u.forEach((function(r,e){return t(e,r[0],n[e])}))}}}function en(n,t){var r=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(r),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function un(n){return v(n)||o(n)}function on(n){setTimeout((function(){throw Error(n)}),0)}function sn(n,t){n=void 0===(n=n.type)?h.DEFAULT:n,tn(N(t));var r=I(n,an());return n=O.run({isolate:r},(function(){return r.keys.prev=s(C(G()[0].prev,an())).reduce((function(n,t){return t instanceof B&&!un(t.key)?(n[t.key]=t,n):n}),{}),D((function(n){return b(n,r.path,[])})),t()})),fn().next(),n}function cn(){return O.useX().isolate}function an(){var n=cn();return n.path.concat(n.cursor.current())}function fn(){return cn().cursor}function ln(n){return n===q.ERRORS?j.ERROR_COUNT:j.WARN_COUNT}function pn(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function dn(n){return!n||(function(n){return"number"==typeof n}(n)?0===n:pn(n,"length")?f(n,0):"object"==typeof n&&f(Object.keys(n),0))}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(q||(q={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(j||(j={}));var vn=i(dn);function hn(n,t){return!!t&&!En(n,t)}function En(n,t){return!(!t||n.fieldName!==t)}var gn=i((function(n,t){return n.groupName===t}));function Nn(n){return function(n,t){return K().some((function(r){return mn(r,n,t)}))}(q.ERRORS,n)}function mn(n,t,r){return!(!n.hasFailures()||hn(n,r)||function(n,t){return function(n,t){return!!n!=!!t}(n===q.WARNINGS,t.warns())}(t,n))}function yn(n){return!!Sn(n)||!Nn(n)&&(!dn(K())&&!function(n){return vn(w().filter((function(t){return bn(t,n)})))}(n)&&function(n){return K().every((function(t){return!!hn(t,n)||Tn(t,n)}))}(n))}function Rn(n,t){return!!Sn(t)||!function(n,t,r){return K().some((function(e){return!gn(e,t)&&mn(e,n,r)}))}(q.ERRORS,n,t)&&!function(n,t){return vn(w().filter((function(r){return!gn(r,n)&&bn(r,t)})))}(n,t)&&function(n,t){return K().every((function(r){return!!gn(r,n)||Tn(r,t)}))}(n,t)}function Sn(n){return!!n&&!0===function(n){var t;return null===(t=L(n))||void 0===t?void 0:t[1]}(n)}function bn(n,t){return!hn(n,t)&&!0!==W(n.fieldName)}function Tn(n,t){return!!hn(n,t)||(!0===W(n.fieldName)||n.isTested()||n.isOmitted())}function Cn(){var n=O.useX().summary;return tn(n),n}function _n(){var n=K(),t=c({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=In(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&yn(t.fieldName)}(n.tests,t),function(n,t){var r=t.groupName;r&&(n[r]=n[r]||{},n[r][t.fieldName]=In(n[r],t),n[r][t.fieldName].valid=!1!==n[r][t.fieldName].valid&&Rn(r,t.fieldName))}(n.groups,t),n}),t),t.valid=yn(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function In(n,t){function r(n){var t=ln(n);i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||c({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=n[e];return t.isNonActionable()||(n[e].testCount++,t.isFailing()?r(q.ERRORS):t.isWarning()&&r(q.WARNINGS)),i}function On(n){return l(n,0)}function An(n,t,r){return r?function(n,t,r){var e;return(null===(e=null==n?void 0:n[r])||void 0===e?void 0:e[t])||[]}(n,t,r):function(n,t){var r,e={},u=ln(t);for(r in n)On(n[r][u])&&(e[r]=n[r][t]||[]);return e}(n,t)}function kn(n){return Ln(q.ERRORS,n)}function xn(n){return Ln(q.WARNINGS,n)}function Ln(n,t){return An(Cn().tests,n,t)}function Fn(n,t){return Wn(n,q.ERRORS,t)}function Un(n,t){return Wn(n,q.WARNINGS,t)}function Wn(n,t,r){return An(Cn().groups[n],t,r)}function Gn(n){return Dn(j.ERROR_COUNT,n)}function Pn(n){return Dn(j.WARN_COUNT,n)}function Dn(n,t){var r,e=Cn();return On(t?null===(r=e.tests[t])||void 0===r?void 0:r[n]:e[n])}function wn(n,t){return Hn(q.ERRORS,n,t)}function Xn(n,t){return Hn(q.WARNINGS,n,t)}function Hn(n,t,r){var e,u,i=Cn();if(n=ln(n),!(t=i.groups[t]))return!1;if(r)return On(null===(e=t[r])||void 0===e?void 0:e[n]);for(var o in t)if(On(null===(u=t[o])||void 0===u?void 0:u[n]))return!0;return!1}function Kn(n){var t=Cn();return n?!!qn(t.tests,n):t.valid}function Mn(n,t){if(!(n=Cn().groups[n]))return!1;if(t)return qn(n,t);for(var r in n)if(!qn(n,r))return!1;return!0}function qn(n,t){var r;return!(null===(r=n[t])||void 0===r||!r.valid)}var jn=p(1);function Bn(){var n=K(),t={stateRef:A()};return jn([n],O.bind(t,(function(){var n=_n(),t=A().suiteName()[0],r={summary:n};return c(n,{getErrors:O.bind(r,kn),getErrorsByGroup:O.bind(r,Fn),getWarnings:O.bind(r,xn),getWarningsByGroup:O.bind(r,Un),hasErrors:O.bind(r,Gn),hasErrorsByGroup:O.bind(r,wn),hasWarnings:O.bind(r,Pn),hasWarningsByGroup:O.bind(r,Xn),isValid:O.bind(r,Kn),isValidByGroup:O.bind(r,Mn),suiteName:t})})))}function Vn(n){var t=w();return!dn(t)&&(n?t.some((function(t){return En(t,n)})):vn(t))}var Yn=p(20);function Jn(){var n=K(),t={stateRef:A()};return Yn([n],O.bind(t,(function(){return c({},Bn(),{done:O.bind(t,$n)})})))}function zn(n,t,r){return!(N(n)&&(!t||r.tests[t]&&!dn(r.tests[t].testCount)))}function Qn(n){return!(Vn()&&(!n||Vn(n)))}var Zn,$n=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];if(n=n[1],t=Jn(),zn(r,n,t))return t;var e=function(){return r(Bn())};return Qn(n)?(e(),t):(nt(e,n),t)};function nt(n,t){(0,x()[1])((function(r){return t?r.fieldCallbacks[t]=(r.fieldCallbacks[t]||[]).concat(n):r.doneCallbacks.push(n),r}))}function tt(n){return n.forEach((function(n){return n()}))}function rt(){var n=function(){var n={};return{emit:function(t,r){(n[t]||[]).forEach((function(n){n(r)}))},on:function(t,r){return n[t]=(n[t]||[]).concat(r),{off:function(){n[t]=(n[t]||[]).filter((function(n){return n!==r}))}}}}}();return n.on(Zn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=x()[0].fieldCallbacks;n&&!Vn(n)&&d(t[n])&&tt(t[n])}(t.fieldName),Vn()||n.emit(Zn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Zn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){t[n.fieldName]&&(n.omit(),U(n.fieldName,(function(n){return[n[0],!0]})))}if(!dn(F()[0])){var t={};D((function(r){return S(r,(function(r){if(pn(t,r.fieldName))n(r);else{var e=W(r.fieldName);N(e)&&(t[r.fieldName]=e(),n(r))}return r}))}))}}()})),n.on(Zn.ALL_RUNNING_TESTS_FINISHED,(function(){tt(x()[0].doneCallbacks)})),n.on(Zn.REMOVE_FIELD,(function(n){M((function(t){En(t,n)&&(t.cancel(),function(n){D((function(t){return S(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Zn.RESET_FIELD,(function(n){M((function(t){En(t,n)&&t.reset()}))})),n}function et(){var n=O.useX();return tn(n.bus),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(Zn||(Zn={}));function ut(){return!!O.useX().skipped}function it(n){return ct(0,"tests",n)}function ot(n){return ct(1,"tests",n)}function st(n){var t=n.fieldName;if(n=n.groupName,ut())return!0;var r=O.useX(),e=r.exclusion;r=r.inclusion;var u=e.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=O.useX().exclusion.groups;return pn(t,n)?!1===t[n]:ft()}(n))return!0;if(!0===e.groups[n])return!i&&(!!at(u)||!1===u[t])}return!!function(n){return!!ft()&&!n}(n)||!i&&(!!at(u)&&!m(r[t]))}function ct(n,t,r){var e=O.useX("hook called outside of a running suite.");r&&s(r).forEach((function(r){u(r)&&(e.exclusion[t][r]=0===n)}))}function at(n){for(var t in n)if(!0===n[t])return!0;return!1}function ft(){var n,t=O.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function lt(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function pt(n){return!(!function(n){return O.useX().mode[0]===n}(E.EAGER)||!Nn(n.fieldName))}function dt(){return!!O.useX().omitted}function vt(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function ht(n){return n&&N(n.then)}function Et(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function gt(n){var t=n.asyncTest,r=n.message;if(ht(t)){var e=et().emit,i=A(),o=O.bind({stateRef:i},(function(){P(),e(Zn.TEST_COMPLETED,n)}));i=O.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:r,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function Nt(n){var t=et(),r=function(n){return O.run({currentTest:n},(function(){return n.run()}))}(n);try{ht(r)?(n.asyncTest=r,n.setPending(),gt(n)):t.emit(Zn.TEST_COMPLETED,n)}catch(t){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function mt(n){var t=G()[0].prev;return dn(t)?(yt(n),n):(t=function(n){var t=an();return function(n,t){return C(n,t)[R(t)]}(n,t)}(t),un(n.key)?(function(n,t){return vn(n)&&!Et(n,t)}(t,n)&&(function(n,t){cn().type===h.EACH||on("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.'))}(t,n),function(){var n=fn().current();D((function(t){return t.splice(n),t}))}(),t=null),yt(n=y(t,n)),n):(yt(n=function(n,t){var r=function(n){return cn().keys.prev[n]}(n);return r&&(t=r),function(n,t){var r=cn().keys.current;un(r[n])?r[n]=t:on('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function yt(n){var t=an();D((function(r){return b(r,t,n)}))}function Rt(n){var t=fn();if(pt(n))return n.skip(),mt(n),t.next(),n;var r=mt(n);return dt()?(r.omit(),t.next(),r):st(n)?(r.skip(ut()),t.next(),r):(function(n,t){t!==n&&Et(n,t)&&n.isPending()&&n.cancel()}(r,n),yt(n),function(n){n.isUntested()?Nt(n):ht(n.asyncTest)&&(n.setPending(),gt(n))}(n),t.next(),n)}function St(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=N(t[1])?t:vt([void 0],t,!0);t=e[0],r=e[1],e=e[2],tn(u(n),Tt("fieldName","string")),tn(N(r),Tt("Test callback","function"));var i=O.useX();return Rt(t=new B(n,r,{message:t,groupName:i.groupName,key:e}))}it.group=function(n){return ct(0,"groups",n)},ot.group=function(n){return ct(1,"groups",n)};var bt=c(St,{memo:function(n){var t=p(10);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=fn().current();var i=(e=e.reverse())[0],o=e[1],s=e[2];return u=[k(),r,u].concat(i),v(e=t.get(u))?t(u,(function(){return n(r,s,o)})):e[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(r,s,o)}))):Rt(e[1])}}(St)});function Tt(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.4.1",exports.context=O,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];n=n[1],tn(N(r),"vest.create: Expected callback to be a function.");var u=rt(),i=rn();return n={stateRef:en(i,{suiteId:e(),suiteName:n}),bus:u},c(O.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),sn({type:h.SUITE},(function(){r.apply(void 0,n)})),u.emit(Zn.SUITE_CALLBACK_DONE_RUNNING),Jn()})),{get:O.bind(n,Bn),remove:O.bind(n,(function(n){u.emit(Zn.REMOVE_FIELD,n)})),reset:i.reset,resetField:O.bind(n,(function(n){u.emit(Zn.RESET_FIELD,n)}))})},exports.each=function(n,t){tn(N(t),"each callback must be a function"),sn({type:h.EACH},(function(){n.forEach((function(n,r){t(n,r)}))}))},exports.eager=function(){!function(n){O.useX().mode[0]=n}(E.EAGER)},exports.group=function(n,t){tn(u(n),lt("name must be a string")),tn(N(t),lt("callback must be a function")),sn({type:h.GROUP},(function(){O.run({groupName:n},t)}))},exports.include=function(n){var t=O.useX(),r=t.inclusion;return t=t.exclusion,tn(u(n)),r[n]=y(t.tests[n],!0),{when:function(t){var r=O.useX(),e=r.exclusion;r.inclusion[n]=function(){return pn(e.tests,n)?y(e.tests[n],!0):u(t)?!!e.tests[t]:m(t,m(Bn))}}}},exports.omitWhen=function(n,t){sn({type:h.OMIT_WHEN},(function(){O.run({omitted:dt()||m(n,m(Bn))},(function(){return t()}))}))},exports.only=it,exports.optional=function(n){if(d(n)||u(n))s(n).forEach((function(n){U(n,[!0,!1])}));else for(var t in n)U(t,[n[t],!1])},exports.skip=ot,exports.skipWhen=function(n,t){sn({type:h.SKIP_WHEN},(function(){O.run({skipped:ut()||m(n,m(Bn))},(function(){return t()}))}))},exports.test=bt,exports.warn=function(){var n=O.useX("warn hook called outside of a running suite.");tn(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
|