vest 4.0.4-dev-2d433c → 4.1.2
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/classnames/package.json +2 -0
- package/dist/cjs/vest.development.js +26 -18
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/vest.development.js +26 -18
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce/compose.development.js +5 -5
- package/dist/umd/enforce/compose.production.js +1 -1
- package/dist/umd/enforce/compounds.development.js +5 -5
- package/dist/umd/enforce/compounds.production.js +1 -1
- package/dist/umd/enforce/schema.development.js +5 -5
- package/dist/umd/enforce/schema.production.js +1 -1
- package/dist/umd/vest.development.js +31 -23
- package/dist/umd/vest.production.js +1 -1
- package/enforce/compose/package.json +2 -0
- package/enforce/compounds/package.json +2 -0
- package/enforce/schema/package.json +2 -0
- package/package.json +5 -3
- package/parser/package.json +2 -0
- package/promisify/package.json +2 -0
- package/types/vest.d.ts +2 -1
package/classnames/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../dist/cjs/classnames.js",
|
|
3
3
|
"module": "../dist/es/classnames.production.js",
|
|
4
|
+
"unpkg": "../dist/umd/classnames.production.js",
|
|
5
|
+
"jsdelivr": "../dist/umd/classnames.production.js",
|
|
4
6
|
"name": "classnames",
|
|
5
7
|
"types": "../types/classnames.d.ts",
|
|
6
8
|
"private": true
|
|
@@ -11,7 +11,7 @@ var assign = Object.assign;
|
|
|
11
11
|
* @returns a unique numeric id.
|
|
12
12
|
*/
|
|
13
13
|
var genId = (function (n) { return function () {
|
|
14
|
-
return ""
|
|
14
|
+
return "".concat(n++);
|
|
15
15
|
}; })(0);
|
|
16
16
|
|
|
17
17
|
function isFunction(value) {
|
|
@@ -504,31 +504,34 @@ var VestTest = /** @class */ (function () {
|
|
|
504
504
|
return this.isSkipped() || this.isOmitted() || this.isCanceled();
|
|
505
505
|
};
|
|
506
506
|
VestTest.prototype.isPending = function () {
|
|
507
|
-
return this.
|
|
507
|
+
return this.statusEquals(STATUS_PENDING);
|
|
508
508
|
};
|
|
509
509
|
VestTest.prototype.isTested = function () {
|
|
510
510
|
return this.hasFailures() || this.isPassing();
|
|
511
511
|
};
|
|
512
512
|
VestTest.prototype.isOmitted = function () {
|
|
513
|
-
return this.
|
|
513
|
+
return this.statusEquals(STATUS_OMITTED);
|
|
514
514
|
};
|
|
515
515
|
VestTest.prototype.isUntested = function () {
|
|
516
|
-
return this.
|
|
516
|
+
return this.statusEquals(STATUS_UNTESTED);
|
|
517
517
|
};
|
|
518
518
|
VestTest.prototype.isFailing = function () {
|
|
519
|
-
return this.
|
|
519
|
+
return this.statusEquals(STATUS_FAILED);
|
|
520
520
|
};
|
|
521
521
|
VestTest.prototype.isCanceled = function () {
|
|
522
|
-
return this.
|
|
522
|
+
return this.statusEquals(STATUS_CANCELED);
|
|
523
523
|
};
|
|
524
524
|
VestTest.prototype.isSkipped = function () {
|
|
525
|
-
return this.
|
|
525
|
+
return this.statusEquals(STATUS_SKIPPED);
|
|
526
526
|
};
|
|
527
527
|
VestTest.prototype.isPassing = function () {
|
|
528
|
-
return this.
|
|
528
|
+
return this.statusEquals(STATUS_PASSING);
|
|
529
529
|
};
|
|
530
530
|
VestTest.prototype.isWarning = function () {
|
|
531
|
-
return this.
|
|
531
|
+
return this.statusEquals(STATUS_WARNING);
|
|
532
|
+
};
|
|
533
|
+
VestTest.prototype.statusEquals = function (status) {
|
|
534
|
+
return this.status === status;
|
|
532
535
|
};
|
|
533
536
|
return VestTest;
|
|
534
537
|
}());
|
|
@@ -586,7 +589,7 @@ function useRetainTestKey(key, testObject) {
|
|
|
586
589
|
current[key] = testObject;
|
|
587
590
|
}
|
|
588
591
|
else {
|
|
589
|
-
throwErrorDeferred("Encountered the same test key \""
|
|
592
|
+
throwErrorDeferred("Encountered the same test key \"".concat(key, "\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."));
|
|
590
593
|
}
|
|
591
594
|
}
|
|
592
595
|
|
|
@@ -844,7 +847,7 @@ function getWarningsByGroup(groupName, fieldName) {
|
|
|
844
847
|
*/
|
|
845
848
|
function getByGroup(severityKey, group, fieldName) {
|
|
846
849
|
if (!group) {
|
|
847
|
-
throwError("get"
|
|
850
|
+
throwError("get".concat(severityKey[0].toUpperCase()).concat(severityKey.slice(1), "ByGroup requires a group name. Received `").concat(group, "` instead."));
|
|
848
851
|
}
|
|
849
852
|
var testObjects = useTestsFlat();
|
|
850
853
|
return collectFailureMessages(severityKey, testObjects, {
|
|
@@ -1429,7 +1432,7 @@ function group(groupName, tests) {
|
|
|
1429
1432
|
});
|
|
1430
1433
|
}
|
|
1431
1434
|
function throwGroupError(error) {
|
|
1432
|
-
throwError("Wrong arguments passed to group. Group "
|
|
1435
|
+
throwError("Wrong arguments passed to group. Group ".concat(error, "."));
|
|
1433
1436
|
}
|
|
1434
1437
|
|
|
1435
1438
|
function include(fieldName) {
|
|
@@ -1517,7 +1520,12 @@ function optional(optionals) {
|
|
|
1517
1520
|
function skipWhen(conditional, callback) {
|
|
1518
1521
|
isolate({ type: IsolateTypes.SKIP_WHEN }, function () {
|
|
1519
1522
|
context.run({
|
|
1520
|
-
skipped:
|
|
1523
|
+
skipped:
|
|
1524
|
+
// Checking for nested conditional. If we're in a nested skipWhen,
|
|
1525
|
+
// we should skip the test if the parent conditional is true.
|
|
1526
|
+
isExcludedIndividually() ||
|
|
1527
|
+
// Otherwise, we should skip the test if the conditional is true.
|
|
1528
|
+
optionalFunctionValue(conditional, optionalFunctionValue(produceDraft))
|
|
1521
1529
|
}, function () { return callback(); });
|
|
1522
1530
|
});
|
|
1523
1531
|
}
|
|
@@ -1617,7 +1625,7 @@ function registerTest(testObject) {
|
|
|
1617
1625
|
}
|
|
1618
1626
|
}
|
|
1619
1627
|
catch (e) {
|
|
1620
|
-
throwError("
|
|
1628
|
+
throwError("Unexpected error encountered during test registration.\n Test Object: ".concat(testObject, ".\n Error: ").concat(e, "."));
|
|
1621
1629
|
}
|
|
1622
1630
|
}
|
|
1623
1631
|
|
|
@@ -1688,7 +1696,7 @@ function throwTestOrderError(prevTest, newTestObject) {
|
|
|
1688
1696
|
if (shouldAllowReorder()) {
|
|
1689
1697
|
return;
|
|
1690
1698
|
}
|
|
1691
|
-
throwErrorDeferred("Vest Critical Error: Tests called in different order than previous run.\n expected: "
|
|
1699
|
+
throwErrorDeferred("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(prevTest.fieldName, "\n received: ").concat(newTestObject.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."));
|
|
1692
1700
|
}
|
|
1693
1701
|
function handleKeyTest(key, newTestObject) {
|
|
1694
1702
|
var prevTestByKey = usePrevTestByKey(key);
|
|
@@ -1767,7 +1775,7 @@ function testBase(fieldName) {
|
|
|
1767
1775
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
1768
1776
|
args[_i - 1] = arguments[_i];
|
|
1769
1777
|
}
|
|
1770
|
-
var _a = (isFunction(args[1]) ? args : __spreadArray([undefined], args)), message = _a[0], testFn = _a[1], key = _a[2];
|
|
1778
|
+
var _a = (isFunction(args[1]) ? args : __spreadArray([undefined], args, true)), message = _a[0], testFn = _a[1], key = _a[2];
|
|
1771
1779
|
if (isNotString(fieldName)) {
|
|
1772
1780
|
throwIncompatibleParamsError('fieldName', 'string');
|
|
1773
1781
|
}
|
|
@@ -1795,7 +1803,7 @@ var test = assign(testBase, {
|
|
|
1795
1803
|
memo: bindTestMemo(testBase)
|
|
1796
1804
|
});
|
|
1797
1805
|
function throwIncompatibleParamsError(name, expected) {
|
|
1798
|
-
throwError("Incompatible params passed to test function. "
|
|
1806
|
+
throwError("Incompatible params passed to test function. ".concat(name, " must be a ").concat(expected));
|
|
1799
1807
|
}
|
|
1800
1808
|
|
|
1801
1809
|
var ERROR_OUTSIDE_OF_TEST = "warn hook called outside of a test callback. It won't have an effect."
|
|
@@ -1811,7 +1819,7 @@ function warn() {
|
|
|
1811
1819
|
ctx.currentTest.warn();
|
|
1812
1820
|
}
|
|
1813
1821
|
|
|
1814
|
-
var VERSION = "4.
|
|
1822
|
+
var VERSION = "4.1.1";
|
|
1815
1823
|
|
|
1816
1824
|
Object.defineProperty(exports, 'enforce', {
|
|
1817
1825
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e=require("n4s"),r=require("context"),u=Object.assign,i=(n=0,function(){return""+n++});function o(n){return"function"==typeof n}function s(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return o(n)?n.apply(void 0,t):n}function c(n,t){var e;return null!==(e=s(n))&&void 0!==e?e:t}function a(n,t){throw Error(c(t,n))}function f(n,t){setTimeout((function(){a(n,t)}),0)}function l(n){function t(n,t,u){return r.references.push(),e(n,s(t,u)),function(){return[r.references[n],function(t){return e(n,s(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,o(t=u[t][1])&&t(e,i),o(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 p(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 v(n){return[].concat(n)}function d(n){return(n=v(n))[n.length-1]}function g(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return d(t)},getCursor:function(){return v(t)},next:function(){return t[t.length-1]++,d(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"}(t||(t={}));var h=r.createContext((function(n,e){return e?null:u({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:t.DEFAULT,keys:{current:{},prev:{}}},testCursor:g()},n)}));function m(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function y(n){return!!Array.isArray(n)}function E(n){return null===n}var b=m(E);function N(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];y(u)?e.push(N(u,t)):(u=t(u),b(u)&&e.push(u))}return e}function C(n,t,e){return S(n,t)[d(t)]=e,n}function T(n){return v(n).reduce((function(n,t){return y(t)?n.concat(T(t)):v(n).concat(t)}),[])}function S(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=c(n[r],[]),n=n[r]}return n}function k(n){return void 0===n}function O(n){return E(n)||k(n)}function x(n){return String(n)===n}function I(n,t){return k(n)&&x(t)}function P(n,t){return n.length===Number(t)}function w(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),function(n,t){return n.length>Number(t)}(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return P(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return P(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function F(){return h.useX().stateRef}function _(){return F().suiteId()[0]}function D(){return F().testCallbacks()}function L(){return F().optionalFields()}function W(){return F().testObjects()}function X(){(0,W()[1])((function(n){return{prev:n.prev,current:v(n.current)}}))}function A(n){(0,W()[1])((function(t){return{prev:t.prev,current:v(n(t.current))}}))}function R(){return T(N(W()[0].current,(function(n){return n.isPending()?n:null})))}var U,M=w();function G(){var n=W()[0].current;return M([n],(function(){return T(n)}))}function j(n){G().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(U||(U={}));var H=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=i(),this.severity=U.Error,this.status=K,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){I(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Q||(this.status=n)},n.prototype.warns=function(){return this.severity===U.Warning},n.prototype.setPending=function(){this.setStatus(z)},n.prototype.fail=function(){this.setStatus(this.warns()?q:B)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Y)},n.prototype.warn=function(){this.severity=U.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(J),X()},n.prototype.reset=function(){this.status=K,X()},n.prototype.omit=function(){this.setStatus(Q)},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.status===z},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===Q},n.prototype.isUntested=function(){return this.status===K},n.prototype.isFailing=function(){return this.status===B},n.prototype.isCanceled=function(){return this.status===J},n.prototype.isSkipped=function(){return this.status===V},n.prototype.isPassing=function(){return this.status===Y},n.prototype.isWarning=function(){return this.status===q},n}(),K="UNTESTED",V="SKIPPED",B="FAILED",q="WARNING",Y="PASSING",z="PENDING",J="CANCELED",Q="OMITTED";function Z(){return h.useX().testCursor.getCursor()}function $(){return h.useX().testCursor.cursorAt()}function nn(){return h.useX().testCursor.next()}function tn(n,e){if(n=void 0===(n=n.type)?t.DEFAULT:n,o(e)){var r={current:{},prev:{}},u=Z();return h.run({isolate:{type:n,keys:r}},(function(){h.useX().testCursor.addLevel(),r.prev=v(S(W()[0].prev,Z())).reduce((function(n,t){return t instanceof H&&!O(t.key)?(n[t.key]=t,n):n}),{}),A((function(n){return C(n,u,[])}));var n=e();return h.useX().testCursor.removeLevel(),nn(),n}))}}function en(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function rn(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(en(n,"length"))return P(n,0);if("object"==typeof n)return P(Object.keys(n),0)}return!0}var un=m(rn);function on(n,t){return!!t&&!sn(n,t)}function sn(n,t){return!(!t||n.fieldName!==t)}function cn(n){var t=R();return!rn(t)&&(n?t.some((function(t){return sn(t,n)})):un(t))}function an(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}var fn=function(){return(fn=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function ln(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 pn(n,t){return function(n,t){return!!n!=!!t}("warnings"===n,t.warns())}function vn(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||on(n,r)||pn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),fn({},i&&((r={})[i]=[],r)))}function dn(n,t){return t?n[t]:n}function gn(n){return mn("errors",n)}function hn(n){return mn("warnings",n)}function mn(n,t){return dn(n=vn(n,G(),{fieldName:t}),t)}function yn(n,t){return dn(n=bn("errors",n,t),t)}function En(n,t){return dn(n=bn("warnings",n,t),t)}function bn(n,t,e){return t||a("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),vn(n,G(),{group:t,fieldName:e})}function Nn(n,t,e){return!(!n.hasFailures()||on(n,e)||pn(t,n))}function Cn(n){return Sn("errors",n)}function Tn(n){return Sn("warnings",n)}function Sn(n,t){return G().some((function(e){return Nn(e,n,t)}))}function kn(n,t){return xn("errors",n,t)}function On(n,t){return xn("warnings",n,t)}function xn(n,t,e){return G().some((function(r){return t===r.groupName&&Nn(r,n,e)}))}function In(n,t){return!!function(n){var t=G().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(rn(G())||function(n,t){return!!t&&rn(n.tests[t])}(n,t)||function(n){var t=L()[0];return un(R().filter((function(e){return!on(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=G(),e=L()[0];return t.every((function(t){return!!on(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var Pn=w(20);function wn(){var n=G(),t={stateRef:F()};return Pn([n],h.bind(t,(function(){var n=F().suiteName()[0];return u(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return G().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=an(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=an(n.groups[r],t))})),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}(n)}(),{getErrors:h.bind(t,gn),getErrorsByGroup:h.bind(t,yn),getWarnings:h.bind(t,hn),getWarningsByGroup:h.bind(t,En),hasErrors:h.bind(t,Cn),hasErrorsByGroup:h.bind(t,kn),hasWarnings:h.bind(t,Tn),hasWarningsByGroup:h.bind(t,On),isValid:h.bind(t,(function(n){return In(wn(),n)})),suiteName:n})})))}var Fn=w(20);function _n(){var n=G(),t={stateRef:F()};return Fn([n],h.bind(t,(function(){return u({},wn(),{done:h.bind(t,Xn)})})))}function Dn(n,t,e){return!(o(n)&&(!t||e.tests[t]&&!rn(e.tests[t].testCount)))}function Ln(n){return!(cn()&&(!n||cn(n)))}var Wn,Xn=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=_n(),Dn(e,n,t))return t;var r=function(){return e(wn())};return Ln(n)?(r(),t):(An(r,n),t)};function An(n,t){var e=h.bind({},n);(0,D()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Rn(n){return n.forEach((function(n){return n()}))}function Un(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Wn.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(n){var t=D()[0].fieldCallbacks;n&&!cn(n)&&y(t[n])&&Rn(t[n])}(n.fieldName),function(){var n=D()[0].doneCallbacks;cn()||Rn(n)}())})),n.on(Wn.SUITE_COMPLETED,(function(){!function(){var n=L()[0];if(!rn(n)){var t={};A((function(e){return N(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];o(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Wn.REMOVE_FIELD,(function(n){j((function(t){sn(t,n)&&(t.cancel(),function(n){A((function(t){return N(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Wn.RESET_FIELD,(function(n){j((function(t){sn(t,n)&&t.reset()}))})),n}function Mn(){var n=h.useX();return n.bus||a(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_COMPLETED="suite_completed"}(Wn||(Wn={}));function Gn(n){return Vn(0,"tests",n)}function jn(n){return Vn(1,"tests",n)}function Hn(){return!!h.useX().skipped}function Kn(n){var t=n.fieldName;if(n=n.groupName,Hn())return!0;var e=h.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=h.useX().exclusion.groups;if(en(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Bn(u)||!1===u[t])}return!!function(n){var t=h.useX().exclusion;return!!function(){var n,t=h.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Bn(u)&&!s(e[t]))}function Vn(n,t,e){var r=h.useX("hook called outside of a running suite.");e&&v(e).forEach((function(e){x(e)&&(r.exclusion[t][e]=0===n)}))}function Bn(n){for(var t in n)if(!0===n[t])return!0;return!1}function qn(n){a("Wrong arguments passed to group. Group "+n+".")}Gn.group=function(n){return Vn(0,"groups",n)},jn.group=function(n){return Vn(1,"groups",n)};var Yn=m(x);function zn(n){return n&&o(n.then)}function Jn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Qn(n){var t=n.asyncTest,e=n.message;if(zn(t)){var r=Mn().emit,u=F(),i=h.bind({stateRef:u},(function(){X(),r(Wn.TEST_COMPLETED,n)}));u=h.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=x(t)?t:e,n.fail(),i())}));try{t.then(i,u)}catch(n){u()}}}function Zn(n){var t=Mn(),e=function(n){return h.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){I(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{zn(e)?(n.asyncTest=e,n.setPending(),Qn(n)):t.emit(Wn.TEST_COMPLETED,n)}catch(t){a("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}function $n(n){var e=W()[0].prev;return rn(e)?(nt(n),n):(e=function(n){var t=Z();return function(n,t){return S(n,t)[d(t)]}(n,t)}(e),O(n.key)?(function(n,t){return un(n)&&!Jn(n,t)}(e,n)&&(function(n,e){h.useX().isolate.type===t.EACH||f("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+e.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.')}(e,n),function(){var n=W(),t=n[1],e=n[0].prev;n=S(e,Z());var r=$();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),nt(n=c(e,n)),n):(nt(n=function(n,t){var e=function(n){return h.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=h.useX().isolate.keys.current;O(e[n])?e[n]=t:f('Encountered the same test key "'+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 nt(n){var t=Z();A((function(e){return C(e,t,n)}))}function tt(n){var t=$n(n);return h.useX().omitted?(t.omit(),nn(),t):Kn(n)?(t.skip(Hn()),nn(),t):(function(n,t){t!==n&&Jn(n,t)&&n.isPending()&&n.cancel()}(t,n),nt(n),nn(),function(n){n.isUntested()?Zn(n):zn(n.asyncTest)&&(n.setPending(),Qn(n))}(n),n)}function et(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=o(t[1])?t:ln([void 0],t);t=r[0],e=r[1],r=r[2],Yn(n)&&ut("fieldName","string"),o(e)||ut("Test callback","function");var u=h.useX();return tt(t=new H(n,e,{message:t,groupName:u.groupName,key:r}))}var rt=u(et,{memo:function(n){var t=w(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=$();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[_(),e,u].concat(i),E(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)}))):tt(r[1])}}(et)});function ut(n,t){a("Incompatible params passed to test function. "+n+" must be a "+t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return e.enforce}}),exports.VERSION="4.0.4-dev-2d433c",exports.context=h,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],o(r)||a("vest.create: Expected callback to be a function.");var s=Un(),c=l();return n={stateRef:p(c,{suiteId:i(),suiteName:n}),bus:s},u(h.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return c.reset(),tn({type:t.SUITE},(function(){r.apply(void 0,n)})),s.emit(Wn.SUITE_COMPLETED),_n()})),{get:h.bind(n,wn),remove:h.bind(n,(function(n){s.emit(Wn.REMOVE_FIELD,n)})),reset:c.reset,resetField:h.bind(n,(function(n){s.emit(Wn.RESET_FIELD,n)}))})},exports.each=function(n,e){o(e)||a("callback must be a function"),tn({type:t.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},exports.group=function(n,e){x(n)||qn("name must be a string"),o(e)||qn("callback must be a function"),tn({type:t.GROUP},(function(){h.run({groupName:n},e)}))},exports.include=function(n){function t(t){var e=h.useX(),r=e.exclusion;e.inclusion[n]=function(){return en(r.tests,n)?c(r.tests[n],!0):x(t)?!!r.tests[t]:s(t,s(wn))}}var e=h.useX();return n?(e.inclusion[n]=c(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,e){tn({type:t.OMIT_WHEN},(function(){h.run({omitted:s(n,s(wn))},(function(){return e()}))}))},exports.only=Gn,exports.optional=function(n){(0,L()[1])((function(t){if(y(n)||x(n))v(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=jn,exports.skipWhen=function(n,e){tn({type:t.SKIP_WHEN},(function(){h.run({skipped:s(n,s(wn))},(function(){return e()}))}))},exports.test=rt,exports.warn=function(){var n=h.useX("warn hook called outside of a running suite.");n.currentTest||a("warn called outside of a test."),n.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e=require("n4s"),r=require("context"),u=Object.assign,i=(n=0,function(){return"".concat(n++)});function o(n){return"function"==typeof n}function s(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return o(n)?n.apply(void 0,t):n}function c(n,t){var e;return null!==(e=s(n))&&void 0!==e?e:t}function a(n,t){throw Error(c(t,n))}function f(n,t){setTimeout((function(){a(n,t)}),0)}function l(n){function t(n,t,u){return r.references.push(),e(n,s(t,u)),function(){return[r.references[n],function(t){return e(n,s(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,o(t=u[t][1])&&t(e,i),o(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 p(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 v(n){return[].concat(n)}function d(n){return(n=v(n))[n.length-1]}function g(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return d(t)},getCursor:function(){return v(t)},next:function(){return t[t.length-1]++,d(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"}(t||(t={}));var h=r.createContext((function(n,e){return e?null:u({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:t.DEFAULT,keys:{current:{},prev:{}}},testCursor:g()},n)}));function m(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function y(n){return!!Array.isArray(n)}function E(n){return null===n}var b=m(E);function N(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];y(u)?e.push(N(u,t)):(u=t(u),b(u)&&e.push(u))}return e}function C(n,t,e){return S(n,t)[d(t)]=e,n}function T(n){return v(n).reduce((function(n,t){return y(t)?n.concat(T(t)):v(n).concat(t)}),[])}function S(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=c(n[r],[]),n=n[r]}return n}function k(n){return void 0===n}function O(n){return E(n)||k(n)}function x(n){return String(n)===n}function I(n,t){return k(n)&&x(t)}function P(n,t){return n.length===Number(t)}function w(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),function(n,t){return n.length>Number(t)}(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return P(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return P(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function F(){return h.useX().stateRef}function _(){return F().suiteId()[0]}function D(){return F().testCallbacks()}function L(){return F().optionalFields()}function W(){return F().testObjects()}function X(){(0,W()[1])((function(n){return{prev:n.prev,current:v(n.current)}}))}function A(n){(0,W()[1])((function(t){return{prev:t.prev,current:v(n(t.current))}}))}function U(){return T(N(W()[0].current,(function(n){return n.isPending()?n:null})))}var R,M=w();function q(){var n=W()[0].current;return M([n],(function(){return T(n)}))}function G(n){q().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(R||(R={}));var j=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=i(),this.severity=R.Error,this.status=H,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){I(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Q||(this.status=n)},n.prototype.warns=function(){return this.severity===R.Warning},n.prototype.setPending=function(){this.setStatus(z)},n.prototype.fail=function(){this.setStatus(this.warns()?B:V)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Y)},n.prototype.warn=function(){this.severity=R.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(K)},n.prototype.cancel=function(){this.setStatus(J),X()},n.prototype.reset=function(){this.status=H,X()},n.prototype.omit=function(){this.setStatus(Q)},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(Q)},n.prototype.isUntested=function(){return this.statusEquals(H)},n.prototype.isFailing=function(){return this.statusEquals(V)},n.prototype.isCanceled=function(){return this.statusEquals(J)},n.prototype.isSkipped=function(){return this.statusEquals(K)},n.prototype.isPassing=function(){return this.statusEquals(Y)},n.prototype.isWarning=function(){return this.statusEquals(B)},n.prototype.statusEquals=function(n){return this.status===n},n}(),H="UNTESTED",K="SKIPPED",V="FAILED",B="WARNING",Y="PASSING",z="PENDING",J="CANCELED",Q="OMITTED";function Z(){return h.useX().testCursor.getCursor()}function $(){return h.useX().testCursor.cursorAt()}function nn(){return h.useX().testCursor.next()}function tn(n,e){if(n=void 0===(n=n.type)?t.DEFAULT:n,o(e)){var r={current:{},prev:{}},u=Z();return h.run({isolate:{type:n,keys:r}},(function(){h.useX().testCursor.addLevel(),r.prev=v(S(W()[0].prev,Z())).reduce((function(n,t){return t instanceof j&&!O(t.key)?(n[t.key]=t,n):n}),{}),A((function(n){return C(n,u,[])}));var n=e();return h.useX().testCursor.removeLevel(),nn(),n}))}}function en(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function rn(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(en(n,"length"))return P(n,0);if("object"==typeof n)return P(Object.keys(n),0)}return!0}var un=m(rn);function on(n,t){return!!t&&!sn(n,t)}function sn(n,t){return!(!t||n.fieldName!==t)}function cn(n){var t=U();return!rn(t)&&(n?t.some((function(t){return sn(t,n)})):un(t))}function an(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}var fn=function(){return(fn=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function ln(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 pn(n,t){return function(n,t){return!!n!=!!t}("warnings"===n,t.warns())}function vn(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||on(n,r)||pn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),fn({},i&&((r={})[i]=[],r)))}function dn(n,t){return t?n[t]:n}function gn(n){return mn("errors",n)}function hn(n){return mn("warnings",n)}function mn(n,t){return dn(n=vn(n,q(),{fieldName:t}),t)}function yn(n,t){return dn(n=bn("errors",n,t),t)}function En(n,t){return dn(n=bn("warnings",n,t),t)}function bn(n,t,e){return t||a("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),vn(n,q(),{group:t,fieldName:e})}function Nn(n,t,e){return!(!n.hasFailures()||on(n,e)||pn(t,n))}function Cn(n){return Sn("errors",n)}function Tn(n){return Sn("warnings",n)}function Sn(n,t){return q().some((function(e){return Nn(e,n,t)}))}function kn(n,t){return xn("errors",n,t)}function On(n,t){return xn("warnings",n,t)}function xn(n,t,e){return q().some((function(r){return t===r.groupName&&Nn(r,n,e)}))}function In(n,t){return!!function(n){var t=q().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(rn(q())||function(n,t){return!!t&&rn(n.tests[t])}(n,t)||function(n){var t=L()[0];return un(U().filter((function(e){return!on(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=q(),e=L()[0];return t.every((function(t){return!!on(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var Pn=w(20);function wn(){var n=q(),t={stateRef:F()};return Pn([n],h.bind(t,(function(){var n=F().suiteName()[0];return u(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return q().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=an(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=an(n.groups[r],t))})),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}(n)}(),{getErrors:h.bind(t,gn),getErrorsByGroup:h.bind(t,yn),getWarnings:h.bind(t,hn),getWarningsByGroup:h.bind(t,En),hasErrors:h.bind(t,Cn),hasErrorsByGroup:h.bind(t,kn),hasWarnings:h.bind(t,Tn),hasWarningsByGroup:h.bind(t,On),isValid:h.bind(t,(function(n){return In(wn(),n)})),suiteName:n})})))}var Fn=w(20);function _n(){var n=q(),t={stateRef:F()};return Fn([n],h.bind(t,(function(){return u({},wn(),{done:h.bind(t,Xn)})})))}function Dn(n,t,e){return!(o(n)&&(!t||e.tests[t]&&!rn(e.tests[t].testCount)))}function Ln(n){return!(cn()&&(!n||cn(n)))}var Wn,Xn=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=_n(),Dn(e,n,t))return t;var r=function(){return e(wn())};return Ln(n)?(r(),t):(An(r,n),t)};function An(n,t){var e=h.bind({},n);(0,D()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Un(n){return n.forEach((function(n){return n()}))}function Rn(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Wn.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(n){var t=D()[0].fieldCallbacks;n&&!cn(n)&&y(t[n])&&Un(t[n])}(n.fieldName),function(){var n=D()[0].doneCallbacks;cn()||Un(n)}())})),n.on(Wn.SUITE_COMPLETED,(function(){!function(){var n=L()[0];if(!rn(n)){var t={};A((function(e){return N(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];o(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Wn.REMOVE_FIELD,(function(n){G((function(t){sn(t,n)&&(t.cancel(),function(n){A((function(t){return N(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Wn.RESET_FIELD,(function(n){G((function(t){sn(t,n)&&t.reset()}))})),n}function Mn(){var n=h.useX();return n.bus||a(),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_COMPLETED="suite_completed"}(Wn||(Wn={}));function qn(n){return Kn(0,"tests",n)}function Gn(n){return Kn(1,"tests",n)}function jn(){return!!h.useX().skipped}function Hn(n){var t=n.fieldName;if(n=n.groupName,jn())return!0;var e=h.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=h.useX().exclusion.groups;if(en(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Vn(u)||!1===u[t])}return!!function(n){var t=h.useX().exclusion;return!!function(){var n,t=h.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Vn(u)&&!s(e[t]))}function Kn(n,t,e){var r=h.useX("hook called outside of a running suite.");e&&v(e).forEach((function(e){x(e)&&(r.exclusion[t][e]=0===n)}))}function Vn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Bn(n){a("Wrong arguments passed to group. Group ".concat(n,"."))}qn.group=function(n){return Kn(0,"groups",n)},Gn.group=function(n){return Kn(1,"groups",n)};var Yn=m(x);function zn(n){return n&&o(n.then)}function Jn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Qn(n){var t=n.asyncTest,e=n.message;if(zn(t)){var r=Mn().emit,u=F(),i=h.bind({stateRef:u},(function(){X(),r(Wn.TEST_COMPLETED,n)}));u=h.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=x(t)?t:e,n.fail(),i())}));try{t.then(i,u)}catch(n){u()}}}function Zn(n){var t=Mn(),e=function(n){return h.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){I(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{zn(e)?(n.asyncTest=e,n.setPending(),Qn(n)):t.emit(Wn.TEST_COMPLETED,n)}catch(t){a("Unexpected error encountered during test registration.\n Test Object: ".concat(n,".\n Error: ").concat(t,"."))}}function $n(n){var e=W()[0].prev;return rn(e)?(nt(n),n):(e=function(n){var t=Z();return function(n,t){return S(n,t)[d(t)]}(n,t)}(e),O(n.key)?(function(n,t){return un(n)&&!Jn(n,t)}(e,n)&&(function(n,e){h.useX().isolate.type===t.EACH||f("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(e.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.'))}(e,n),function(){var n=W(),t=n[1],e=n[0].prev;n=S(e,Z());var r=$();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),nt(n=c(e,n)),n):(nt(n=function(n,t){var e=function(n){return h.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=h.useX().isolate.keys.current;O(e[n])?e[n]=t:f('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 nt(n){var t=Z();A((function(e){return C(e,t,n)}))}function tt(n){var t=$n(n);return h.useX().omitted?(t.omit(),nn(),t):Hn(n)?(t.skip(jn()),nn(),t):(function(n,t){t!==n&&Jn(n,t)&&n.isPending()&&n.cancel()}(t,n),nt(n),nn(),function(n){n.isUntested()?Zn(n):zn(n.asyncTest)&&(n.setPending(),Qn(n))}(n),n)}function et(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=o(t[1])?t:ln([void 0],t,!0);t=r[0],e=r[1],r=r[2],Yn(n)&&ut("fieldName","string"),o(e)||ut("Test callback","function");var u=h.useX();return tt(t=new j(n,e,{message:t,groupName:u.groupName,key:r}))}var rt=u(et,{memo:function(n){var t=w(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=$();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[_(),e,u].concat(i),E(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)}))):tt(r[1])}}(et)});function ut(n,t){a("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return e.enforce}}),exports.VERSION="4.1.1",exports.context=h,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],o(r)||a("vest.create: Expected callback to be a function.");var s=Rn(),c=l();return n={stateRef:p(c,{suiteId:i(),suiteName:n}),bus:s},u(h.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return c.reset(),tn({type:t.SUITE},(function(){r.apply(void 0,n)})),s.emit(Wn.SUITE_COMPLETED),_n()})),{get:h.bind(n,wn),remove:h.bind(n,(function(n){s.emit(Wn.REMOVE_FIELD,n)})),reset:c.reset,resetField:h.bind(n,(function(n){s.emit(Wn.RESET_FIELD,n)}))})},exports.each=function(n,e){o(e)||a("callback must be a function"),tn({type:t.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},exports.group=function(n,e){x(n)||Bn("name must be a string"),o(e)||Bn("callback must be a function"),tn({type:t.GROUP},(function(){h.run({groupName:n},e)}))},exports.include=function(n){function t(t){var e=h.useX(),r=e.exclusion;e.inclusion[n]=function(){return en(r.tests,n)?c(r.tests[n],!0):x(t)?!!r.tests[t]:s(t,s(wn))}}var e=h.useX();return n?(e.inclusion[n]=c(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,e){tn({type:t.OMIT_WHEN},(function(){h.run({omitted:s(n,s(wn))},(function(){return e()}))}))},exports.only=qn,exports.optional=function(n){(0,L()[1])((function(t){if(y(n)||x(n))v(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=Gn,exports.skipWhen=function(n,e){tn({type:t.SKIP_WHEN},(function(){h.run({skipped:jn()||s(n,s(wn))},(function(){return e()}))}))},exports.test=rt,exports.warn=function(){var n=h.useX("warn hook called outside of a running suite.");n.currentTest||a("warn called outside of a test."),n.currentTest.warn()};
|
|
@@ -7,7 +7,7 @@ var assign = Object.assign;
|
|
|
7
7
|
* @returns a unique numeric id.
|
|
8
8
|
*/
|
|
9
9
|
var genId = (function (n) { return function () {
|
|
10
|
-
return ""
|
|
10
|
+
return "".concat(n++);
|
|
11
11
|
}; })(0);
|
|
12
12
|
|
|
13
13
|
function isFunction(value) {
|
|
@@ -500,31 +500,34 @@ var VestTest = /** @class */ (function () {
|
|
|
500
500
|
return this.isSkipped() || this.isOmitted() || this.isCanceled();
|
|
501
501
|
};
|
|
502
502
|
VestTest.prototype.isPending = function () {
|
|
503
|
-
return this.
|
|
503
|
+
return this.statusEquals(STATUS_PENDING);
|
|
504
504
|
};
|
|
505
505
|
VestTest.prototype.isTested = function () {
|
|
506
506
|
return this.hasFailures() || this.isPassing();
|
|
507
507
|
};
|
|
508
508
|
VestTest.prototype.isOmitted = function () {
|
|
509
|
-
return this.
|
|
509
|
+
return this.statusEquals(STATUS_OMITTED);
|
|
510
510
|
};
|
|
511
511
|
VestTest.prototype.isUntested = function () {
|
|
512
|
-
return this.
|
|
512
|
+
return this.statusEquals(STATUS_UNTESTED);
|
|
513
513
|
};
|
|
514
514
|
VestTest.prototype.isFailing = function () {
|
|
515
|
-
return this.
|
|
515
|
+
return this.statusEquals(STATUS_FAILED);
|
|
516
516
|
};
|
|
517
517
|
VestTest.prototype.isCanceled = function () {
|
|
518
|
-
return this.
|
|
518
|
+
return this.statusEquals(STATUS_CANCELED);
|
|
519
519
|
};
|
|
520
520
|
VestTest.prototype.isSkipped = function () {
|
|
521
|
-
return this.
|
|
521
|
+
return this.statusEquals(STATUS_SKIPPED);
|
|
522
522
|
};
|
|
523
523
|
VestTest.prototype.isPassing = function () {
|
|
524
|
-
return this.
|
|
524
|
+
return this.statusEquals(STATUS_PASSING);
|
|
525
525
|
};
|
|
526
526
|
VestTest.prototype.isWarning = function () {
|
|
527
|
-
return this.
|
|
527
|
+
return this.statusEquals(STATUS_WARNING);
|
|
528
|
+
};
|
|
529
|
+
VestTest.prototype.statusEquals = function (status) {
|
|
530
|
+
return this.status === status;
|
|
528
531
|
};
|
|
529
532
|
return VestTest;
|
|
530
533
|
}());
|
|
@@ -582,7 +585,7 @@ function useRetainTestKey(key, testObject) {
|
|
|
582
585
|
current[key] = testObject;
|
|
583
586
|
}
|
|
584
587
|
else {
|
|
585
|
-
throwErrorDeferred("Encountered the same test key \""
|
|
588
|
+
throwErrorDeferred("Encountered the same test key \"".concat(key, "\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."));
|
|
586
589
|
}
|
|
587
590
|
}
|
|
588
591
|
|
|
@@ -840,7 +843,7 @@ function getWarningsByGroup(groupName, fieldName) {
|
|
|
840
843
|
*/
|
|
841
844
|
function getByGroup(severityKey, group, fieldName) {
|
|
842
845
|
if (!group) {
|
|
843
|
-
throwError("get"
|
|
846
|
+
throwError("get".concat(severityKey[0].toUpperCase()).concat(severityKey.slice(1), "ByGroup requires a group name. Received `").concat(group, "` instead."));
|
|
844
847
|
}
|
|
845
848
|
var testObjects = useTestsFlat();
|
|
846
849
|
return collectFailureMessages(severityKey, testObjects, {
|
|
@@ -1425,7 +1428,7 @@ function group(groupName, tests) {
|
|
|
1425
1428
|
});
|
|
1426
1429
|
}
|
|
1427
1430
|
function throwGroupError(error) {
|
|
1428
|
-
throwError("Wrong arguments passed to group. Group "
|
|
1431
|
+
throwError("Wrong arguments passed to group. Group ".concat(error, "."));
|
|
1429
1432
|
}
|
|
1430
1433
|
|
|
1431
1434
|
function include(fieldName) {
|
|
@@ -1513,7 +1516,12 @@ function optional(optionals) {
|
|
|
1513
1516
|
function skipWhen(conditional, callback) {
|
|
1514
1517
|
isolate({ type: IsolateTypes.SKIP_WHEN }, function () {
|
|
1515
1518
|
context.run({
|
|
1516
|
-
skipped:
|
|
1519
|
+
skipped:
|
|
1520
|
+
// Checking for nested conditional. If we're in a nested skipWhen,
|
|
1521
|
+
// we should skip the test if the parent conditional is true.
|
|
1522
|
+
isExcludedIndividually() ||
|
|
1523
|
+
// Otherwise, we should skip the test if the conditional is true.
|
|
1524
|
+
optionalFunctionValue(conditional, optionalFunctionValue(produceDraft))
|
|
1517
1525
|
}, function () { return callback(); });
|
|
1518
1526
|
});
|
|
1519
1527
|
}
|
|
@@ -1613,7 +1621,7 @@ function registerTest(testObject) {
|
|
|
1613
1621
|
}
|
|
1614
1622
|
}
|
|
1615
1623
|
catch (e) {
|
|
1616
|
-
throwError("
|
|
1624
|
+
throwError("Unexpected error encountered during test registration.\n Test Object: ".concat(testObject, ".\n Error: ").concat(e, "."));
|
|
1617
1625
|
}
|
|
1618
1626
|
}
|
|
1619
1627
|
|
|
@@ -1684,7 +1692,7 @@ function throwTestOrderError(prevTest, newTestObject) {
|
|
|
1684
1692
|
if (shouldAllowReorder()) {
|
|
1685
1693
|
return;
|
|
1686
1694
|
}
|
|
1687
|
-
throwErrorDeferred("Vest Critical Error: Tests called in different order than previous run.\n expected: "
|
|
1695
|
+
throwErrorDeferred("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(prevTest.fieldName, "\n received: ").concat(newTestObject.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."));
|
|
1688
1696
|
}
|
|
1689
1697
|
function handleKeyTest(key, newTestObject) {
|
|
1690
1698
|
var prevTestByKey = usePrevTestByKey(key);
|
|
@@ -1763,7 +1771,7 @@ function testBase(fieldName) {
|
|
|
1763
1771
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
1764
1772
|
args[_i - 1] = arguments[_i];
|
|
1765
1773
|
}
|
|
1766
|
-
var _a = (isFunction(args[1]) ? args : __spreadArray([undefined], args)), message = _a[0], testFn = _a[1], key = _a[2];
|
|
1774
|
+
var _a = (isFunction(args[1]) ? args : __spreadArray([undefined], args, true)), message = _a[0], testFn = _a[1], key = _a[2];
|
|
1767
1775
|
if (isNotString(fieldName)) {
|
|
1768
1776
|
throwIncompatibleParamsError('fieldName', 'string');
|
|
1769
1777
|
}
|
|
@@ -1791,7 +1799,7 @@ var test = assign(testBase, {
|
|
|
1791
1799
|
memo: bindTestMemo(testBase)
|
|
1792
1800
|
});
|
|
1793
1801
|
function throwIncompatibleParamsError(name, expected) {
|
|
1794
|
-
throwError("Incompatible params passed to test function. "
|
|
1802
|
+
throwError("Incompatible params passed to test function. ".concat(name, " must be a ").concat(expected));
|
|
1795
1803
|
}
|
|
1796
1804
|
|
|
1797
1805
|
var ERROR_OUTSIDE_OF_TEST = "warn hook called outside of a test callback. It won't have an effect."
|
|
@@ -1807,6 +1815,6 @@ function warn() {
|
|
|
1807
1815
|
ctx.currentTest.warn();
|
|
1808
1816
|
}
|
|
1809
1817
|
|
|
1810
|
-
var VERSION = "4.
|
|
1818
|
+
var VERSION = "4.1.1";
|
|
1811
1819
|
|
|
1812
1820
|
export { VERSION, context, create, each, group, include, omitWhen, only, optional, skip, skipWhen, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=Object.assign,r=(n=0,function(){return""+n++});function u(t){return"function"==typeof t}function i(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return u(t)?t.apply(void 0,n):t}function o(t,n){var e;return null!==(e=i(t))&&void 0!==e?e:n}function s(t,n){throw Error(o(n,t))}function a(t,n){setTimeout((function(){s(t,n)}),0)}function c(t){function n(t,n,u){return r.references.push(),e(t,i(n,u)),function(){return[r.references[t],function(n){return e(t,i(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,u(n=o[n][1])&&n(e,i),u(t)&&t()}var r={references:[]},o=[];return{registerStateKey:function(t,e){var r=o.length;return o.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],o.forEach((function(e,r){return n(r,e[0],t[r])}))}}}var f,l=f||(f={});function p(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 d(t){return(t=[].concat(t))[t.length-1]}function v(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return d(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,d(n)},removeLevel:function(){n.pop()},reset:t}}l[l.DEFAULT=0]="DEFAULT",l[l.SUITE=1]="SUITE",l[l.EACH=2]="EACH",l[l.SKIP_WHEN=3]="SKIP_WHEN",l[l.OMIT_WHEN=4]="OMIT_WHEN",l[l.GROUP=5]="GROUP";var g=t((function(t,n){return n?null:e({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:f.DEFAULT,keys:{current:{},prev:{}}},testCursor:v()},t)}));function h(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}var m=h((function(t){return null===t}));function y(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(y(u,n)):(u=n(u),m(u)&&e.push(u))}return e}function E(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(E(n)):[].concat(t).concat(n)}),[])}function b(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=o(t[r],[]),t=t[r]}return t}function N(t){return null==t}function C(t){return String(t)===t}function T(t){function n(r,u){var i=n.get(r);return i?i[1]:(u=u(),e.unshift([r.concat(),u]),e.length>Number(t)&&(e.length=t),u)}void 0===t&&(t=1);var e=[];return n.invalidate=function(t){var n=e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}));-1<n&&e.splice(n,1)},n.get=function(t){return e[e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))]||null},n}function k(){return g.useX().stateRef}function S(){return k().testObjects()}function O(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function P(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function w(){return E(y(S()[0].current,(function(t){return t.isPending()?t:null})))}var F=T();function I(){var t=S()[0].current;return F([t],(function(){return E(t)}))}var A,D=A||(A={});D.Error="error",D.Warning="warning";var L=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=A.Error,this.status=X,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&&C(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==G||(this.status=t)},t.prototype.warns=function(){return this.severity===A.Warning},t.prototype.setPending=function(){this.setStatus(R)},t.prototype.fail=function(){this.setStatus(this.warns()?W:x)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},t.prototype.warn=function(){this.severity=A.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(_)},t.prototype.cancel=function(){this.setStatus(M),O()},t.prototype.reset=function(){this.status=X,O()},t.prototype.omit=function(){this.setStatus(G)},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.status===R},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.status===G},t.prototype.isUntested=function(){return this.status===X},t.prototype.isFailing=function(){return this.status===x},t.prototype.isCanceled=function(){return this.status===M},t.prototype.isSkipped=function(){return this.status===_},t.prototype.isPassing=function(){return this.status===U},t.prototype.isWarning=function(){return this.status===W},t}(),X="UNTESTED",_="SKIPPED",x="FAILED",W="WARNING",U="PASSING",R="PENDING",M="CANCELED",G="OMITTED";function j(){return g.useX().testCursor.getCursor()}function H(){return g.useX().testCursor.next()}function K(t,n){if(t=void 0===(t=t.type)?f.DEFAULT:t,u(n)){var e={current:{},prev:{}},r=j();return g.run({isolate:{type:t,keys:e}},(function(){g.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(b(t,j())).reduce((function(t,n){return n instanceof L&&!N(n.key)?(t[n.key]=n,t):t}),{})}(),P((function(t){return b(t,r)[d(r)]=[],t}));var t=n();return g.useX().testCursor.removeLevel(),H(),t}))}}function V(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}var B=h(V);function Y(t,n){return!(!n||t.fieldName!==n)}function q(t){var n=w();return!V(n)&&(t?n.some((function(n){return Y(n,t)})):B(n))}function z(t,n){function e(t,n){i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e("errorCount","errors"):n.isWarning()&&e("warnCount","warnings")),i}function J(){return(J=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function Z(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!Y(e,i)?r=!0:(r=e.warns(),r="warnings"===t!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),J({},i&&((r={})[i]=[],r)))}function $(t){return nt("errors",t)}function tt(t){return nt("warnings",t)}function nt(t,n){return t=Z(t,I(),{fieldName:n}),n?t[n]:t}function et(t,n){return t=ut("errors",t,n),n?t[n]:t}function rt(t,n){return t=ut("warnings",t,n),n?t[n]:t}function ut(t,n,e){return n||s("get"+t[0].toUpperCase()+t.slice(1)+"ByGroup requires a group name. Received `"+n+"` instead."),Z(t,I(),{group:n,fieldName:e})}function it(t,n,e){return(e=!t.hasFailures()||e&&!Y(t,e))||(e="warnings"===n!=!!(t=t.warns())),!e}function ot(t){return at("errors",t)}function st(t){return at("warnings",t)}function at(t,n){return I().some((function(e){return it(e,t,n)}))}function ct(t,n){return lt("errors",t,n)}function ft(t,n){return lt("warnings",t,n)}function lt(t,n,e){return I().some((function(r){return n===r.groupName&&it(r,t,e)}))}var pt=T(20);function dt(){var t=I(),n={stateRef:k()};return pt([t],g.bind(n,(function(){var t=k().suiteName()[0];return e(function(){var t={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return I().forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=z(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=z(t.groups[r],n))})),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}(t)}(),{getErrors:g.bind(n,$),getErrorsByGroup:g.bind(n,et),getWarnings:g.bind(n,tt),getWarningsByGroup:g.bind(n,rt),hasErrors:g.bind(n,ot),hasErrorsByGroup:g.bind(n,ct),hasWarnings:g.bind(n,st),hasWarningsByGroup:g.bind(n,ft),isValid:g.bind(n,(function(t){var n=dt(),e=I().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(V(e=I())||t&&V(n.tests[t])||function(t){var n=k().optionalFields()[0];return B(w().filter((function(e){return!(t&&!Y(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=I(),e=k().optionalFields()[0];return n.every((function(n){return!(!t||Y(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}var vt=T(20);function gt(){var t=I(),n={stateRef:k()};return vt([t],g.bind(n,(function(){return e({},dt(),{done:g.bind(n,yt)})})))}function ht(t,n,e){return!(u(t)&&(!n||e.tests[n]&&!V(e.tests[n].testCount)))}function mt(t){return!(q()&&(!t||q(t)))}function yt(){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=gt(),ht(r,n,e)?e:mt(n)?(t(),e):(Et(t,n),e)}function Et(t,n){var e=g.bind({},t);(0,k().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function bt(t){return t.forEach((function(t){return t()}))}function Nt(){var t=function(){var t={};return{emit:function(n,e){t[n]&&t[n].forEach((function(t){t(e)}))},on:function(n,e){return t[n]||(t[n]=[]),t[n].push(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(Tt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var n=k().testCallbacks()[0].fieldCallbacks;t&&!q(t)&&Array.isArray(n[t])&&bt(n[t]),t=k().testCallbacks()[0].doneCallbacks,q()||bt(t)}})),t.on(Tt.SUITE_COMPLETED,(function(){!function(){var t=k().optionalFields()[0];if(!V(t)){var n={};P((function(e){return y(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var i=t[r];u(i)&&(n[r]=i(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(Tt.REMOVE_FIELD,(function(t){I().forEach((function(n){Y(n,t)&&(n.cancel(),function(t){P((function(n){return y(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Tt.RESET_FIELD,(function(t){I().forEach((function(n){Y(n,t)&&n.reset()}))})),t}function Ct(){var t=g.useX();return t.bus||s(),t.bus}var Tt,kt=Tt||(Tt={});function St(t){return Pt(0,"tests",t)}function Ot(t){return Pt(1,"tests",t)}function Pt(t,n,e){var r=g.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){C(e)&&(r.exclusion[n][e]=0===t)}))}function wt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ft(t){s("Wrong arguments passed to group. Group "+t+".")}kt.TEST_COMPLETED="test_completed",kt.REMOVE_FIELD="remove_field",kt.RESET_FIELD="reset_field",kt.SUITE_COMPLETED="suite_completed",St.group=function(t){return Pt(0,"groups",t)},Ot.group=function(t){return Pt(1,"groups",t)};var It=h(C);function At(t){var n=t.asyncTest,e=t.message;if(n&&u(n.then)){var r=Ct().emit,i=k(),o=g.bind({stateRef:i},(function(){O(),r(Tt.TEST_COMPLETED,t)}));i=g.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=C(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Dt(t){var n=j();P((function(e){return b(e,n)[d(n)]=t,e}))}function Lt(t){var n=S()[0].prev;if(V(n))Dt(t),n=t;else{var e=j();if(n=b(n,e)[d(e)],N(t.key))!B(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(g.useX().isolate.type!==f.EACH&&a("Vest Critical Error: Tests called in different order than previous run.\n expected: "+n.fieldName+"\n received: "+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=S(),n=t[1],e=t[0].prev;t=b(e,j());var r=g.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Dt(n=o(n,t));else{n=t.key;var r=g.useX().isolate.keys.prev[n];e=t,r&&(e=r),r=e;var c=g.useX().isolate.keys.current;N(c[n])?c[n]=r:a('Encountered the same test key "'+n+"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."),Dt(n=e)}}if(g.useX().omitted)return n.omit(),H(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,g.useX().skipped)return!0;var e=g.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[n];if(!1===o)return!0;if(o=!0===o,t){t:{var s=g.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(s,t))var a=!1===s[t];else{for(a in s)if(!0===s[a]){a=!0;break t}a=!1}}if(a)return!0;if(!0===r.groups[t])return!(o||!wt(u)&&!1!==u[n])}r=g.useX().exclusion;t:{for(c in(a=g.useX().exclusion).groups)if(a.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!o&&!!wt(u)&&!i(e[n])}(t))return n.skip(!!g.useX().skipped),H(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Dt(t),H(),t.isUntested()){n=Ct(),e=function(t){return g.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&C(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&u(e.then)?(t.asyncTest=e,t.setPending(),At(t)):n.emit(Tt.TEST_COMPLETED,t)}catch(n){s("Your test function "+t.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(n=t.asyncTest)&&u(n.then)&&(t.setPending(),At(t));return t}function Xt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=u(n[1])?n:Q([void 0],n);n=r[0],e=r[1],r=r[2],It(t)&&xt("fieldName","string"),u(e)||xt("Test callback","function");var i=g.useX();return Lt(n=new L(t,e,{message:n,groupName:i.groupName,key:r}))}var _t=e(Xt,{memo:function(t){var n=T(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=g.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[k().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):Lt(r[1])}}(Xt)});function xt(t,n){s("Incompatible params passed to test function. "+t+" must be a "+n)}var Wt="4.0.4-dev-2d433c";function Ut(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=(t=t.reverse())[0];t=t[1],u(i)||s("vest.create: Expected callback to be a function.");var o=Nt(),a=c();return t={stateRef:p(a,{suiteId:r(),suiteName:t}),bus:o},e(g.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return a.reset(),K({type:f.SUITE},(function(){i.apply(void 0,t)})),o.emit(Tt.SUITE_COMPLETED),gt()})),{get:g.bind(t,dt),remove:g.bind(t,(function(t){o.emit(Tt.REMOVE_FIELD,t)})),reset:a.reset,resetField:g.bind(t,(function(t){o.emit(Tt.RESET_FIELD,t)}))})}function Rt(t,n){u(n)||s("callback must be a function"),K({type:f.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Mt(t,n){C(t)||Ft("name must be a string"),u(n)||Ft("callback must be a function"),K({type:f.GROUP},(function(){g.run({groupName:t},n)}))}function Gt(t){function n(n){var e=g.useX(),r=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(r.tests,t)?o(r.tests[t],!0):C(n)?!!r.tests[n]:i(n,i(dt))}}var e=g.useX();return t?(e.inclusion[t]=o(e.exclusion.tests[t],!0),{when:n}):{when:n}}function jt(t,n){K({type:f.OMIT_WHEN},(function(){g.run({omitted:i(t,i(dt))},(function(){return n()}))}))}function Ht(t){(0,k().optionalFields()[1])((function(n){if(Array.isArray(t)||C(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Kt(t,n){K({type:f.SKIP_WHEN},(function(){g.run({skipped:i(t,i(dt))},(function(){return n()}))}))}function Vt(){var t=g.useX("warn hook called outside of a running suite.");t.currentTest||s("warn called outside of a test."),t.currentTest.warn()}export{Wt as VERSION,g as context,Ut as create,Rt as each,Mt as group,Gt as include,jt as omitWhen,St as only,Ht as optional,Ot as skip,Kt as skipWhen,_t as test,Vt as warn};
|
|
1
|
+
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=Object.assign,r=(n=0,function(){return"".concat(n++)});function u(t){return"function"==typeof t}function i(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return u(t)?t.apply(void 0,n):t}function o(t,n){var e;return null!==(e=i(t))&&void 0!==e?e:n}function s(t,n){throw Error(o(n,t))}function a(t,n){setTimeout((function(){s(t,n)}),0)}function c(t){function n(t,n,u){return r.references.push(),e(t,i(n,u)),function(){return[r.references[t],function(n){return e(t,i(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,u(n=o[n][1])&&n(e,i),u(t)&&t()}var r={references:[]},o=[];return{registerStateKey:function(t,e){var r=o.length;return o.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],o.forEach((function(e,r){return n(r,e[0],t[r])}))}}}var f,l=f||(f={});function p(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 d(t){return(t=[].concat(t))[t.length-1]}function v(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return d(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,d(n)},removeLevel:function(){n.pop()},reset:t}}l[l.DEFAULT=0]="DEFAULT",l[l.SUITE=1]="SUITE",l[l.EACH=2]="EACH",l[l.SKIP_WHEN=3]="SKIP_WHEN",l[l.OMIT_WHEN=4]="OMIT_WHEN",l[l.GROUP=5]="GROUP";var g=t((function(t,n){return n?null:e({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:f.DEFAULT,keys:{current:{},prev:{}}},testCursor:v()},t)}));function h(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}var m=h((function(t){return null===t}));function y(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(y(u,n)):(u=n(u),m(u)&&e.push(u))}return e}function E(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(E(n)):[].concat(t).concat(n)}),[])}function b(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=o(t[r],[]),t=t[r]}return t}function N(t){return null==t}function C(t){return String(t)===t}function T(t){function n(r,u){var i=n.get(r);return i?i[1]:(u=u(),e.unshift([r.concat(),u]),e.length>Number(t)&&(e.length=t),u)}void 0===t&&(t=1);var e=[];return n.invalidate=function(t){var n=e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}));-1<n&&e.splice(n,1)},n.get=function(t){return e[e.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))]||null},n}function k(){return g.useX().stateRef}function S(){return k().testObjects()}function O(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function w(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function F(){return E(y(S()[0].current,(function(t){return t.isPending()?t:null})))}var I=T();function P(){var t=S()[0].current;return I([t],(function(){return E(t)}))}var A,X=A||(A={});X.Error="error",X.Warning="warning";var D=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=A.Error,this.status=L,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&&C(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==G||(this.status=t)},t.prototype.warns=function(){return this.severity===A.Warning},t.prototype.setPending=function(){this.setStatus(R)},t.prototype.fail=function(){this.setStatus(this.warns()?U:x)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(W)},t.prototype.warn=function(){this.severity=A.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(_)},t.prototype.cancel=function(){this.setStatus(M),O()},t.prototype.reset=function(){this.status=L,O()},t.prototype.omit=function(){this.setStatus(G)},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(R)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(G)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(x)},t.prototype.isCanceled=function(){return this.statusEquals(M)},t.prototype.isSkipped=function(){return this.statusEquals(_)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(U)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",_="SKIPPED",x="FAILED",U="WARNING",W="PASSING",R="PENDING",M="CANCELED",G="OMITTED";function j(){return g.useX().testCursor.getCursor()}function q(){return g.useX().testCursor.next()}function H(t,n){if(t=void 0===(t=t.type)?f.DEFAULT:t,u(n)){var e={current:{},prev:{}},r=j();return g.run({isolate:{type:t,keys:e}},(function(){g.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(b(t,j())).reduce((function(t,n){return n instanceof D&&!N(n.key)?(t[n.key]=n,t):t}),{})}(),w((function(t){return b(t,r)[d(r)]=[],t}));var t=n();return g.useX().testCursor.removeLevel(),q(),t}))}}function K(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}var V=h(K);function B(t,n){return!(!n||t.fieldName!==n)}function Y(t){var n=F();return!K(n)&&(t?n.some((function(n){return B(n,t)})):V(n))}function z(t,n){function e(t,n){i[t]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e("errorCount","errors"):n.isWarning()&&e("warnCount","warnings")),i}function J(){return(J=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function Z(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!B(e,i)?r=!0:(r=e.warns(),r="warnings"===t!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),J({},i&&((r={})[i]=[],r)))}function $(t){return nt("errors",t)}function tt(t){return nt("warnings",t)}function nt(t,n){return t=Z(t,P(),{fieldName:n}),n?t[n]:t}function et(t,n){return t=ut("errors",t,n),n?t[n]:t}function rt(t,n){return t=ut("warnings",t,n),n?t[n]:t}function ut(t,n,e){return n||s("get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),Z(t,P(),{group:n,fieldName:e})}function it(t,n,e){return(e=!t.hasFailures()||e&&!B(t,e))||(e="warnings"===n!=!!(t=t.warns())),!e}function ot(t){return at("errors",t)}function st(t){return at("warnings",t)}function at(t,n){return P().some((function(e){return it(e,t,n)}))}function ct(t,n){return lt("errors",t,n)}function ft(t,n){return lt("warnings",t,n)}function lt(t,n,e){return P().some((function(r){return n===r.groupName&&it(r,t,e)}))}var pt=T(20);function dt(){var t=P(),n={stateRef:k()};return pt([t],g.bind(n,(function(){var t=k().suiteName()[0];return e(function(){var t={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return P().forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=z(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=z(t.groups[r],n))})),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}(t)}(),{getErrors:g.bind(n,$),getErrorsByGroup:g.bind(n,et),getWarnings:g.bind(n,tt),getWarningsByGroup:g.bind(n,rt),hasErrors:g.bind(n,ot),hasErrorsByGroup:g.bind(n,ct),hasWarnings:g.bind(n,st),hasWarningsByGroup:g.bind(n,ft),isValid:g.bind(n,(function(t){var n=dt(),e=P().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(K(e=P())||t&&K(n.tests[t])||function(t){var n=k().optionalFields()[0];return V(F().filter((function(e){return!(t&&!B(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=P(),e=k().optionalFields()[0];return n.every((function(n){return!(!t||B(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}var vt=T(20);function gt(){var t=P(),n={stateRef:k()};return vt([t],g.bind(n,(function(){return e({},dt(),{done:g.bind(n,yt)})})))}function ht(t,n,e){return!(u(t)&&(!n||e.tests[n]&&!K(e.tests[n].testCount)))}function mt(t){return!(Y()&&(!t||Y(t)))}function yt(){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=gt(),ht(r,n,e)?e:mt(n)?(t(),e):(Et(t,n),e)}function Et(t,n){var e=g.bind({},t);(0,k().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function bt(t){return t.forEach((function(t){return t()}))}function Nt(){var t=function(){var t={};return{emit:function(n,e){t[n]&&t[n].forEach((function(t){t(e)}))},on:function(n,e){return t[n]||(t[n]=[]),t[n].push(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(Tt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var n=k().testCallbacks()[0].fieldCallbacks;t&&!Y(t)&&Array.isArray(n[t])&&bt(n[t]),t=k().testCallbacks()[0].doneCallbacks,Y()||bt(t)}})),t.on(Tt.SUITE_COMPLETED,(function(){!function(){var t=k().optionalFields()[0];if(!K(t)){var n={};w((function(e){return y(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var i=t[r];u(i)&&(n[r]=i(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(Tt.REMOVE_FIELD,(function(t){P().forEach((function(n){B(n,t)&&(n.cancel(),function(t){w((function(n){return y(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Tt.RESET_FIELD,(function(t){P().forEach((function(n){B(n,t)&&n.reset()}))})),t}function Ct(){var t=g.useX();return t.bus||s(),t.bus}var Tt,kt=Tt||(Tt={});function St(t){return wt(0,"tests",t)}function Ot(t){return wt(1,"tests",t)}function wt(t,n,e){var r=g.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){C(e)&&(r.exclusion[n][e]=0===t)}))}function Ft(t){for(var n in t)if(!0===t[n])return!0;return!1}function It(t){s("Wrong arguments passed to group. Group ".concat(t,"."))}kt.TEST_COMPLETED="test_completed",kt.REMOVE_FIELD="remove_field",kt.RESET_FIELD="reset_field",kt.SUITE_COMPLETED="suite_completed",St.group=function(t){return wt(0,"groups",t)},Ot.group=function(t){return wt(1,"groups",t)};var Pt=h(C);function At(t){var n=t.asyncTest,e=t.message;if(n&&u(n.then)){var r=Ct().emit,i=k(),o=g.bind({stateRef:i},(function(){O(),r(Tt.TEST_COMPLETED,t)}));i=g.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=C(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=j();w((function(e){return b(e,n)[d(n)]=t,e}))}function Dt(t){var n=S()[0].prev;if(K(n))Xt(t),n=t;else{var e=j();if(n=b(n,e)[d(e)],N(t.key))!V(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(g.useX().isolate.type!==f.EACH&&a("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=S(),n=t[1],e=t[0].prev;t=b(e,j());var r=g.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Xt(n=o(n,t));else{n=t.key;var r=g.useX().isolate.keys.prev[n];e=t,r&&(e=r),r=e;var c=g.useX().isolate.keys.current;N(c[n])?c[n]=r:a('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Xt(n=e)}}if(g.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,g.useX().skipped)return!0;var e=g.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[n];if(!1===o)return!0;if(o=!0===o,t){t:{var s=g.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(s,t))var a=!1===s[t];else{for(a in s)if(!0===s[a]){a=!0;break t}a=!1}}if(a)return!0;if(!0===r.groups[t])return!(o||!Ft(u)&&!1!==u[n])}r=g.useX().exclusion;t:{for(c in(a=g.useX().exclusion).groups)if(a.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!o&&!!Ft(u)&&!i(e[n])}(t))return n.skip(!!g.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Xt(t),q(),t.isUntested()){n=Ct(),e=function(t){return g.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&C(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&u(e.then)?(t.asyncTest=e,t.setPending(),At(t)):n.emit(Tt.TEST_COMPLETED,t)}catch(n){s("Unexpected error encountered during test registration.\n Test Object: ".concat(t,".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&u(n.then)&&(t.setPending(),At(t));return t}function Lt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=u(n[1])?n:Q([void 0],n,!0);n=r[0],e=r[1],r=r[2],Pt(t)&&xt("fieldName","string"),u(e)||xt("Test callback","function");var i=g.useX();return Dt(n=new D(t,e,{message:n,groupName:i.groupName,key:r}))}var _t=e(Lt,{memo:function(t){var n=T(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=g.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[k().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):Dt(r[1])}}(Lt)});function xt(t,n){s("Incompatible params passed to test function. ".concat(t," must be a ").concat(n))}var Ut="4.1.1";function Wt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=(t=t.reverse())[0];t=t[1],u(i)||s("vest.create: Expected callback to be a function.");var o=Nt(),a=c();return t={stateRef:p(a,{suiteId:r(),suiteName:t}),bus:o},e(g.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return a.reset(),H({type:f.SUITE},(function(){i.apply(void 0,t)})),o.emit(Tt.SUITE_COMPLETED),gt()})),{get:g.bind(t,dt),remove:g.bind(t,(function(t){o.emit(Tt.REMOVE_FIELD,t)})),reset:a.reset,resetField:g.bind(t,(function(t){o.emit(Tt.RESET_FIELD,t)}))})}function Rt(t,n){u(n)||s("callback must be a function"),H({type:f.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Mt(t,n){C(t)||It("name must be a string"),u(n)||It("callback must be a function"),H({type:f.GROUP},(function(){g.run({groupName:t},n)}))}function Gt(t){function n(n){var e=g.useX(),r=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(r.tests,t)?o(r.tests[t],!0):C(n)?!!r.tests[n]:i(n,i(dt))}}var e=g.useX();return t?(e.inclusion[t]=o(e.exclusion.tests[t],!0),{when:n}):{when:n}}function jt(t,n){H({type:f.OMIT_WHEN},(function(){g.run({omitted:i(t,i(dt))},(function(){return n()}))}))}function qt(t){(0,k().optionalFields()[1])((function(n){if(Array.isArray(t)||C(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Ht(t,n){H({type:f.SKIP_WHEN},(function(){g.run({skipped:!!g.useX().skipped||i(t,i(dt))},(function(){return n()}))}))}function Kt(){var t=g.useX("warn hook called outside of a running suite.");t.currentTest||s("warn called outside of a test."),t.currentTest.warn()}export{Ut as VERSION,g as context,Wt as create,Rt as each,Mt as group,Gt as include,jt as omitWhen,St as only,qt as optional,Ot as skip,Ht as skipWhen,_t as test,Kt as warn};
|
|
@@ -511,7 +511,7 @@
|
|
|
511
511
|
return ruleReturn(result);
|
|
512
512
|
}
|
|
513
513
|
else {
|
|
514
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args)));
|
|
514
|
+
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
517
|
function validateResult(result) {
|
|
@@ -545,12 +545,12 @@
|
|
|
545
545
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
546
546
|
args[_i] = arguments[_i];
|
|
547
547
|
}
|
|
548
|
-
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args)); }),
|
|
548
|
+
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
549
549
|
ruleName,
|
|
550
|
-
value], args));
|
|
550
|
+
value], args, false));
|
|
551
551
|
if (!transformedResult.pass) {
|
|
552
552
|
if (isEmpty(transformedResult.message)) {
|
|
553
|
-
throwError("enforce/"
|
|
553
|
+
throwError("enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value)));
|
|
554
554
|
}
|
|
555
555
|
else {
|
|
556
556
|
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
@@ -577,7 +577,7 @@
|
|
|
577
577
|
}
|
|
578
578
|
var rule = getRule(ruleName);
|
|
579
579
|
registeredRules.push(function (value) {
|
|
580
|
-
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args)), ruleName, value], args));
|
|
580
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
581
581
|
});
|
|
582
582
|
var proxy = {
|
|
583
583
|
run: function (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){throw Error(e(t,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"number"==typeof n}function s(n,t){return n.length===Number(t)}function f(n){if(n){if(o(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return s(n,0);if("object"==typeof n)return s(Object.keys(n),0)}return!0}function a(n){return null===n}function c(n){return void 0===n}function l(n){return null===n||c(n)}function N(n){return String(n)===n}function h(n,t){return N(n)&&N(t)&&n.endsWith(t)}function p(n,t){return n===t}function v(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function g(n,t){return v(n)&&v(t)&&Number(n)>Number(t)}function m(n,t){return v(n)&&v(t)&&Number(n)>=Number(t)}function d(n){return!!Array.isArray(n)}function y(n,t){return!!(d(t)||N(t)&&N(n))&&-1!==t.indexOf(n)}function b(n,t){return v(n)&&v(t)&&Number(n)<=Number(t)}function O(n,t,r){return m(n,t)&&b(n,r)}function x(n){return l(n)||N(n)&&!n.trim()}function E(n){return!!n===n}function w(n,t){return n in t}function T(n){return Number.isNaN(n)}function q(n){return!!v(n)&&0>Number(n)}function j(n){return!!n}function S(n,t){if(l(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function A(n,t){return v(n)&&v(t)&&Number(n)<Number(t)}function B(n,t){return t instanceof RegExp?t.test(n):!!N(t)&&new RegExp(t).test(n)}function P(n,t){return v(n)&&v(t)&&Number(n)===Number(t)}function W(n,t){return N(n)&&N(t)&&n.startsWith(t)}function k(n){for(var r in Nn){var e=Nn[r];t(e)&&n(r,e)}}function F(){return null}function I(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 J(){try{return t(Proxy)}catch(n){return!1}}function K(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return E(n)||n&&E(n.pass)||u("Incorrect return value for rule: "+JSON.stringify(n)),E(n)?K(n):K(n.pass,r.apply(void 0,I([n.message,t,e],i)))}function U(n){function t(t,r,e){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=R.apply(void 0,I([hn.run({value:n},(function(){return r.apply(void 0,I([n],i))})),e,n],i))).pass){if(!f(o.message))throw o.message;u("enforce/"
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t()}(this,(function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){throw Error(e(t,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"number"==typeof n}function s(n,t){return n.length===Number(t)}function f(n){if(n){if(o(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return s(n,0);if("object"==typeof n)return s(Object.keys(n),0)}return!0}function a(n){return null===n}function c(n){return void 0===n}function l(n){return null===n||c(n)}function N(n){return String(n)===n}function h(n,t){return N(n)&&N(t)&&n.endsWith(t)}function p(n,t){return n===t}function v(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function g(n,t){return v(n)&&v(t)&&Number(n)>Number(t)}function m(n,t){return v(n)&&v(t)&&Number(n)>=Number(t)}function d(n){return!!Array.isArray(n)}function y(n,t){return!!(d(t)||N(t)&&N(n))&&-1!==t.indexOf(n)}function b(n,t){return v(n)&&v(t)&&Number(n)<=Number(t)}function O(n,t,r){return m(n,t)&&b(n,r)}function x(n){return l(n)||N(n)&&!n.trim()}function E(n){return!!n===n}function w(n,t){return n in t}function T(n){return Number.isNaN(n)}function q(n){return!!v(n)&&0>Number(n)}function j(n){return!!n}function S(n,t){if(l(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function A(n,t){return v(n)&&v(t)&&Number(n)<Number(t)}function B(n,t){return t instanceof RegExp?t.test(n):!!N(t)&&new RegExp(t).test(n)}function P(n,t){return v(n)&&v(t)&&Number(n)===Number(t)}function W(n,t){return N(n)&&N(t)&&n.startsWith(t)}function k(n){for(var r in Nn){var e=Nn[r];t(e)&&n(r,e)}}function F(){return null}function I(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 J(){try{return t(Proxy)}catch(n){return!1}}function K(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return E(n)||n&&E(n.pass)||u("Incorrect return value for rule: "+JSON.stringify(n)),E(n)?K(n):K(n.pass,r.apply(void 0,I([n.message,t,e],i,!1)))}function U(n){function t(t,r,e){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=R.apply(void 0,I([hn.run({value:n},(function(){return r.apply(void 0,I([n],i,!1))})),e,n],i,!1))).pass){if(!f(o.message))throw o.message;u("enforce/".concat(e," failed with ").concat(JSON.stringify(n)))}return t}}var r={};if(!J())return k((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=Nn[r])return t(e,n,r)}});return e}function V(t){var u,i=[];return function t(o){return function(){for(var s=[],f=0;f<arguments.length;f++)s[f]=arguments[f];var a=Nn[o];i.push((function(n){return R.apply(void 0,I([a.apply(void 0,I([n],s,!1)),o,n],s,!1))}));var c={run:function(t){return e(n(i,(function(n,e){var i,o=hn.run({value:t},(function(){return n(t)}));o.pass||e(K(!!o.pass,null!==(i=r(u,t,o.message))&&void 0!==i?i:o.message))})),K(!0))},test:function(n){return c.run(n).pass},message:function(n){return n&&(u=n),c}};return J()?c=new Proxy(c,{get:function(n,r){return Nn[r]?t(r):n[r]}}):(k((function(n){c[n]=t(n)})),c)}}(t)}var X,z=i(o),C=i(s),M=i(f),D=Object.assign,G=i(a),H=i(c),L=i(l),Q=i(h),Y=i(p),Z=i(v),$=i(d),_=i(y),nn=i(O),tn=i(x),rn=i(E),en=i(w),un=i(T),on=i(q),sn=i(N),fn=i(j),an=i(S),cn=i(B),ln=i(P),Nn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Q,doesNotStartWith:i(W),endsWith:h,equals:p,greaterThan:g,greaterThanOrEquals:m,gt:g,gte:m,inside:y,isArray:d,isBetween:O,isBlank:x,isBoolean:E,isEmpty:f,isEven:function(n){return!!v(n)&&0==n%2},isFalsy:fn,isKeyOf:w,isNaN:T,isNegative:q,isNotArray:$,isNotBetween:nn,isNotBlank:tn,isNotBoolean:rn,isNotEmpty:M,isNotKeyOf:en,isNotNaN:un,isNotNull:G,isNotNullish:L,isNotNumber:z,isNotNumeric:Z,isNotString:sn,isNotUndefined:H,isNotValueOf:an,isNull:a,isNullish:l,isNumber:o,isNumeric:v,isOdd:function(n){return!!v(n)&&0!=n%2},isPositive:on,isString:N,isTruthy:j,isUndefined:c,isValueOf:S,lengthEquals:s,lengthNotEquals:C,lessThan:A,lessThanOrEquals:b,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:A,lte:b,matches:B,notEquals:Y,notInside:_,notMatches:cn,numberEquals:P,numberNotEquals:ln,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:W},hn=function(n){function t(t,e){var u,s,f=i();return t=D({},f||{},null!==(u=r(n,t,f))&&void 0!==u?u:t),u=o.ctx=Object.freeze(t),o.ancestry.unshift(u),e=e(u),o.ancestry.shift(),o.ctx=null!==(s=o.ancestry[0])&&void 0!==s?s:null,e}function i(){return o.ctx}var o={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:i,useX:function(n){var t;return null!==(t=o.ctx)&&void 0!==t?t:u(e(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?D(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:D(r,{parent:F})}));return X={context:function(){return hn.useX()},extend:function(n){D(Nn,n)}},J()?new Proxy(D(U,X),{get:function(n,t){return t in n?n[t]:Nn[t]?V(t):void 0}}):(k((function(n){X[n]=V(n)})),D(U,X)),function(){function t(t){return hn.run({value:t},(function(){return e(n(r,(function(n,r){try{var e=n.run(t)}catch(n){e=K(!1)}e.pass||r(e)})),K(!0))}))}for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return Object.assign((function(n){if(!(n=t(n)).pass){if(!f(n.message))throw n.message;u()}}),{run:t,test:function(n){return t(n).pass}})}}));
|
|
@@ -548,7 +548,7 @@
|
|
|
548
548
|
return ruleReturn(result);
|
|
549
549
|
}
|
|
550
550
|
else {
|
|
551
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args)));
|
|
551
|
+
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
552
552
|
}
|
|
553
553
|
}
|
|
554
554
|
function validateResult(result) {
|
|
@@ -582,12 +582,12 @@
|
|
|
582
582
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
583
583
|
args[_i] = arguments[_i];
|
|
584
584
|
}
|
|
585
|
-
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args)); }),
|
|
585
|
+
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
586
586
|
ruleName,
|
|
587
|
-
value], args));
|
|
587
|
+
value], args, false));
|
|
588
588
|
if (!transformedResult.pass) {
|
|
589
589
|
if (isEmpty(transformedResult.message)) {
|
|
590
|
-
throwError("enforce/"
|
|
590
|
+
throwError("enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value)));
|
|
591
591
|
}
|
|
592
592
|
else {
|
|
593
593
|
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
@@ -614,7 +614,7 @@
|
|
|
614
614
|
}
|
|
615
615
|
var rule = getRule(ruleName);
|
|
616
616
|
registeredRules.push(function (value) {
|
|
617
|
-
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args)), ruleName, value], args));
|
|
617
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
618
618
|
});
|
|
619
619
|
var proxy = {
|
|
620
620
|
run: function (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){return n={pass:n},t&&(n.message=t),n}function i(n,t){try{return n.run(t)}catch(n){return u(!1)}}function o(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n){return null===n}function
|
|
1
|
+
"use strict";!function(n){"function"==typeof define&&define.amd?define(n):n()}((function(){function n(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function t(n){return"function"==typeof n}function r(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function e(n,t){var e;return null!==(e=r(n))&&void 0!==e?e:t}function u(n,t){return n={pass:n},t&&(n.message=t),n}function i(n,t){try{return n.run(t)}catch(n){return u(!1)}}function o(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n){return null===n}function a(n){return void 0===n}function s(n){return null===n||a(n)}function c(n){return String(n)===n}function l(n,t){return c(n)&&c(t)&&n.endsWith(t)}function N(n,t){return n===t}function v(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function h(n,t){return v(n)&&v(t)&&Number(n)>Number(t)}function p(n,t){return v(n)&&v(t)&&Number(n)>=Number(t)}function g(n){return!!Array.isArray(n)}function m(n,t){return!!(g(t)||c(t)&&c(n))&&-1!==t.indexOf(n)}function y(n,t){return v(n)&&v(t)&&Number(n)<=Number(t)}function d(n,t,r){return p(n,t)&&y(n,r)}function b(n){return s(n)||c(n)&&!n.trim()}function O(n){return!!n===n}function E(n){return"number"==typeof n}function x(n,t){return n.length===Number(t)}function w(n){if(n){if(E(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return x(n,0);if("object"==typeof n)return x(Object.keys(n),0)}return!0}function q(n,t){return n in t}function T(n){return Number.isNaN(n)}function S(n){return!!v(n)&&0>Number(n)}function A(n){return!!n}function B(n,t){if(s(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function P(n,t){return v(n)&&v(t)&&Number(n)<Number(t)}function W(n,t){return n.length>Number(t)}function j(n,t){return t instanceof RegExp?t.test(n):!!c(t)&&new RegExp(t).test(n)}function k(n,t){return v(n)&&v(t)&&Number(n)===Number(t)}function F(n,t){return c(n)&&c(t)&&n.startsWith(t)}function I(n){for(var r in hn){var e=hn[r];t(e)&&n(r,e)}}function J(n,t){throw Error(e(t,n))}function K(){return null}function R(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 U(){try{return t(Proxy)}catch(n){return!1}}function V(n,t,e){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return O(n)||n&&O(n.pass)||J("Incorrect return value for rule: "+JSON.stringify(n)),O(n)?u(n):u(n.pass,r.apply(void 0,R([n.message,t,e],i,!1)))}function X(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=V.apply(void 0,R([pn.run({value:n},(function(){return r.apply(void 0,R([n],u,!1))})),e,n],u,!1))).pass){if(!w(i.message))throw i.message;J("enforce/".concat(e," failed with ").concat(JSON.stringify(n)))}return t}}var r={};if(!U())return I((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=hn[r])return t(e,n,r)}});return e}function z(t){var i,o=[];return function t(f){return function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];var c=hn[f];o.push((function(n){return V.apply(void 0,R([c.apply(void 0,R([n],a,!1)),f,n],a,!1))}));var l={run:function(t){return e(n(o,(function(n,e){var o,f=pn.run({value:t},(function(){return n(t)}));f.pass||e(u(!!f.pass,null!==(o=r(i,t,f.message))&&void 0!==o?o:f.message))})),u(!0))},test:function(n){return l.run(n).pass},message:function(n){return n&&(i=n),l}};return U()?l=new Proxy(l,{get:function(n,r){return hn[r]?t(r):n[r]}}):(I((function(n){l[n]=t(n)})),l)}}(t)}var C,M=Object.assign,D=o(f),G=o(a),H=o(s),L=o(l),Q=o(N),Y=o(v),Z=o(g),$=o(m),_=o(d),nn=o(b),tn=o(O),rn=o(E),en=o(x),un=o(w),on=o(q),fn=o(T),an=o(S),sn=o(c),cn=o(A),ln=o(B),Nn=o(j),vn=o(k),hn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:L,doesNotStartWith:o(F),endsWith:l,equals:N,greaterThan:h,greaterThanOrEquals:p,gt:h,gte:p,inside:m,isArray:g,isBetween:d,isBlank:b,isBoolean:O,isEmpty:w,isEven:function(n){return!!v(n)&&0==n%2},isFalsy:cn,isKeyOf:q,isNaN:T,isNegative:S,isNotArray:Z,isNotBetween:_,isNotBlank:nn,isNotBoolean:tn,isNotEmpty:un,isNotKeyOf:on,isNotNaN:fn,isNotNull:D,isNotNullish:H,isNotNumber:rn,isNotNumeric:Y,isNotString:sn,isNotUndefined:G,isNotValueOf:ln,isNull:f,isNullish:s,isNumber:E,isNumeric:v,isOdd:function(n){return!!v(n)&&0!=n%2},isPositive:an,isString:c,isTruthy:A,isUndefined:a,isValueOf:B,lengthEquals:x,lengthNotEquals:en,lessThan:P,lessThanOrEquals:y,longerThan:W,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:P,lte:y,matches:j,notEquals:Q,notInside:$,notMatches:Nn,numberEquals:k,numberNotEquals:vn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:F},pn=function(n){function t(t,e){var o,f,a=u();return t=M({},a||{},null!==(o=r(n,t,a))&&void 0!==o?o:t),o=i.ctx=Object.freeze(t),i.ancestry.unshift(o),e=e(o),i.ancestry.shift(),i.ctx=null!==(f=i.ancestry[0])&&void 0!==f?f:null,e}function u(){return i.ctx}var i={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:u,useX:function(n){var t;return null!==(t=i.ctx)&&void 0!==t?t:J(e(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?M(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:M(r,{parent:K})}));(C={context:function(){return pn.useX()},extend:function(n){M(hn,n)}},U()?new Proxy(M(X,C),{get:function(n,t){return t in n?n[t]:hn[t]?z(t):void 0}}):(I((function(n){C[n]=z(n)})),M(X,C))).extend({allOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass||r(n)})),u(!0))},anyOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){(n=i(n,t)).pass&&r(n)})),u(!1))},noneOf:function(t){for(var r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];return e(n(r,(function(n,r){i(n,t).pass&&r(u(!1))})),u(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(W(e,1))return!1;(t=i(t,n)).pass&&e.push(t)})),u(x(e,1))}})}));
|
|
@@ -511,7 +511,7 @@
|
|
|
511
511
|
return ruleReturn(result);
|
|
512
512
|
}
|
|
513
513
|
else {
|
|
514
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args)));
|
|
514
|
+
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
517
|
function validateResult(result) {
|
|
@@ -545,12 +545,12 @@
|
|
|
545
545
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
546
546
|
args[_i] = arguments[_i];
|
|
547
547
|
}
|
|
548
|
-
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args)); }),
|
|
548
|
+
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
549
549
|
ruleName,
|
|
550
|
-
value], args));
|
|
550
|
+
value], args, false));
|
|
551
551
|
if (!transformedResult.pass) {
|
|
552
552
|
if (isEmpty(transformedResult.message)) {
|
|
553
|
-
throwError("enforce/"
|
|
553
|
+
throwError("enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value)));
|
|
554
554
|
}
|
|
555
555
|
else {
|
|
556
556
|
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
@@ -577,7 +577,7 @@
|
|
|
577
577
|
}
|
|
578
578
|
var rule = getRule(ruleName);
|
|
579
579
|
registeredRules.push(function (value) {
|
|
580
|
-
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args)), ruleName, value], args));
|
|
580
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
581
581
|
});
|
|
582
582
|
var proxy = {
|
|
583
583
|
run: function (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).schema={})}(this,(function(n){function t(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function r(n){return"function"==typeof n}function e(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function u(n){return null===n}function i(n){return void 0===n}function o(n){return null===n||i(n)}function
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).schema={})}(this,(function(n){function t(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function r(n){return"function"==typeof n}function e(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function u(n){return null===n}function i(n){return void 0===n}function o(n){return null===n||i(n)}function a(n){return String(n)===n}function f(n,t){return a(n)&&a(t)&&n.endsWith(t)}function s(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function l(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function p(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function v(n){return!!Array.isArray(n)}function N(n,t){return!!(v(t)||a(t)&&a(n))&&-1!==t.indexOf(n)}function h(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function y(n,t,r){return p(n,t)&&h(n,r)}function d(n){return o(n)||a(n)&&!n.trim()}function m(n){return!!n===n}function g(n){return"number"==typeof n}function b(n,t){return n.length===Number(t)}function O(n){if(n){if(g(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return b(n,0);if("object"==typeof n)return b(Object.keys(n),0)}return!0}function x(n,t){return n in t}function E(n){return Number.isNaN(n)}function w(n){return!!c(n)&&0>Number(n)}function T(n){return!!n}function q(n,t){if(o(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function j(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function P(n,t){return t instanceof RegExp?t.test(n):!!a(t)&&new RegExp(t).test(n)}function A(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function S(n,t){return a(n)&&a(t)&&n.startsWith(t)}function B(n){for(var t in hn){var e=hn[t];r(e)&&n(t,e)}}function W(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}function k(n,t){var r;return null!==(r=W(n))&&void 0!==r?r:t}function F(n,t){throw Error(k(t,n))}function I(){return null}function J(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 K(){try{return r(Proxy)}catch(n){return!1}}function M(n,t){return n={pass:n},t&&(n.message=t),n}function R(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return m(n)||n&&m(n.pass)||F("Incorrect return value for rule: "+JSON.stringify(n)),m(n)?M(n):M(n.pass,W.apply(void 0,J([n.message,t,r],e,!1)))}function U(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=R.apply(void 0,J([yn.run({value:n},(function(){return r.apply(void 0,J([n],u,!1))})),e,n],u,!1))).pass){if(!O(i.message))throw i.message;F("enforce/".concat(e," failed with ").concat(JSON.stringify(n)))}return t}}var r={};if(!K())return B((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=hn[r])return t(e,n,r)}});return e}function V(n){var r,e=[];return function n(u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var a=hn[u];e.push((function(n){return R.apply(void 0,J([a.apply(void 0,J([n],i,!1)),u,n],i,!1))}));var f={run:function(n){return k(t(e,(function(t,e){var u,i=yn.run({value:n},(function(){return t(n)}));i.pass||e(M(!!i.pass,null!==(u=W(r,n,i.message))&&void 0!==u?u:i.message))})),M(!0))},test:function(n){return f.run(n).pass},message:function(n){return n&&(r=n),f}};return K()?f=new Proxy(f,{get:function(t,r){return hn[r]?n(r):t[r]}}):(B((function(t){f[t]=n(t)})),f)}}(n)}function X(n,t){try{return n.run(t)}catch(n){return M(!1)}}function _(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=yn.run({value:e,set:!0,meta:{key:r}},(function(){return X(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return M(!0)}var z,C=Object.assign,D=e(u),G=e(i),H=e(o),L=e(f),Q=e(s),Y=e(c),Z=e(v),$=e(N),nn=e(y),tn=e(d),rn=e(m),en=e(g),un=e(b),on=e(O),an=e(x),fn=e(E),sn=e(w),cn=e(a),ln=e(T),pn=e(q),vn=e(P),Nn=e(A),hn={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:L,doesNotStartWith:e(S),endsWith:f,equals:s,greaterThan:l,greaterThanOrEquals:p,gt:l,gte:p,inside:N,isArray:v,isBetween:y,isBlank:d,isBoolean:m,isEmpty:O,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:ln,isKeyOf:x,isNaN:E,isNegative:w,isNotArray:Z,isNotBetween:nn,isNotBlank:tn,isNotBoolean:rn,isNotEmpty:on,isNotKeyOf:an,isNotNaN:fn,isNotNull:D,isNotNullish:H,isNotNumber:en,isNotNumeric:Y,isNotString:cn,isNotUndefined:G,isNotValueOf:pn,isNull:u,isNullish:o,isNumber:g,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:sn,isString:a,isTruthy:T,isUndefined:i,isValueOf:q,lengthEquals:b,lengthNotEquals:un,lessThan:j,lessThanOrEquals:h,longerThan:function(n,t){return n.length>Number(t)},longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:j,lte:h,matches:P,notEquals:Q,notInside:$,notMatches:vn,numberEquals:A,numberNotEquals:Nn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:S},yn=function(n){function t(t,u){var i,o,a=r();return t=C({},a||{},null!==(i=W(n,t,a))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){var t;return null!==(t=e.ctx)&&void 0!==t?t:F(k(n,"Context was used after it was closed"))}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?C(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:C(r,{parent:I})})),dn=(z={context:function(){return yn.useX()},extend:function(n){C(hn,n)}},K()?new Proxy(C(U,z),{get:function(n,t){return t in n?n[t]:hn[t]?V(t):void 0}}):(B((function(n){z[n]=V(n)})),C(U,z)));dn.extend({isArrayOf:function(n,r){return k(t(n,(function(n,t,e){(e=yn.run({value:n,set:!0,meta:{index:e}},(function(){return X(r,n)}))).pass||t(e)})),M(!0))},loose:_,optional:function(n,t){return o(n)?M(!0):X(t,n)},shape:function(n,t){var r=_(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return M(!1);return M(!0)}}),n.partial=function(n){var t,r={};for(t in n)r[t]=dn.optional(n[t]);return r},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
@@ -509,7 +509,7 @@
|
|
|
509
509
|
return ruleReturn(result);
|
|
510
510
|
}
|
|
511
511
|
else {
|
|
512
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args)));
|
|
512
|
+
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
515
|
function validateResult(result) {
|
|
@@ -543,12 +543,12 @@
|
|
|
543
543
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
544
544
|
args[_i] = arguments[_i];
|
|
545
545
|
}
|
|
546
|
-
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args)); }),
|
|
546
|
+
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
547
547
|
ruleName,
|
|
548
|
-
value], args));
|
|
548
|
+
value], args, false));
|
|
549
549
|
if (!transformedResult.pass) {
|
|
550
550
|
if (isEmpty(transformedResult.message)) {
|
|
551
|
-
throwError("enforce/"
|
|
551
|
+
throwError("enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value)));
|
|
552
552
|
}
|
|
553
553
|
else {
|
|
554
554
|
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
@@ -590,7 +590,7 @@
|
|
|
590
590
|
}
|
|
591
591
|
var rule = getRule(ruleName);
|
|
592
592
|
registeredRules.push(function (value) {
|
|
593
|
-
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args)), ruleName, value], args));
|
|
593
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
594
594
|
});
|
|
595
595
|
var proxy = {
|
|
596
596
|
run: function (value) {
|
|
@@ -690,7 +690,7 @@
|
|
|
690
690
|
* @returns a unique numeric id.
|
|
691
691
|
*/
|
|
692
692
|
var genId = (function (n) { return function () {
|
|
693
|
-
return ""
|
|
693
|
+
return "".concat(n++);
|
|
694
694
|
}; })(0);
|
|
695
695
|
|
|
696
696
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -1112,31 +1112,34 @@
|
|
|
1112
1112
|
return this.isSkipped() || this.isOmitted() || this.isCanceled();
|
|
1113
1113
|
};
|
|
1114
1114
|
VestTest.prototype.isPending = function () {
|
|
1115
|
-
return this.
|
|
1115
|
+
return this.statusEquals(STATUS_PENDING);
|
|
1116
1116
|
};
|
|
1117
1117
|
VestTest.prototype.isTested = function () {
|
|
1118
1118
|
return this.hasFailures() || this.isPassing();
|
|
1119
1119
|
};
|
|
1120
1120
|
VestTest.prototype.isOmitted = function () {
|
|
1121
|
-
return this.
|
|
1121
|
+
return this.statusEquals(STATUS_OMITTED);
|
|
1122
1122
|
};
|
|
1123
1123
|
VestTest.prototype.isUntested = function () {
|
|
1124
|
-
return this.
|
|
1124
|
+
return this.statusEquals(STATUS_UNTESTED);
|
|
1125
1125
|
};
|
|
1126
1126
|
VestTest.prototype.isFailing = function () {
|
|
1127
|
-
return this.
|
|
1127
|
+
return this.statusEquals(STATUS_FAILED);
|
|
1128
1128
|
};
|
|
1129
1129
|
VestTest.prototype.isCanceled = function () {
|
|
1130
|
-
return this.
|
|
1130
|
+
return this.statusEquals(STATUS_CANCELED);
|
|
1131
1131
|
};
|
|
1132
1132
|
VestTest.prototype.isSkipped = function () {
|
|
1133
|
-
return this.
|
|
1133
|
+
return this.statusEquals(STATUS_SKIPPED);
|
|
1134
1134
|
};
|
|
1135
1135
|
VestTest.prototype.isPassing = function () {
|
|
1136
|
-
return this.
|
|
1136
|
+
return this.statusEquals(STATUS_PASSING);
|
|
1137
1137
|
};
|
|
1138
1138
|
VestTest.prototype.isWarning = function () {
|
|
1139
|
-
return this.
|
|
1139
|
+
return this.statusEquals(STATUS_WARNING);
|
|
1140
|
+
};
|
|
1141
|
+
VestTest.prototype.statusEquals = function (status) {
|
|
1142
|
+
return this.status === status;
|
|
1140
1143
|
};
|
|
1141
1144
|
return VestTest;
|
|
1142
1145
|
}());
|
|
@@ -1194,7 +1197,7 @@
|
|
|
1194
1197
|
current[key] = testObject;
|
|
1195
1198
|
}
|
|
1196
1199
|
else {
|
|
1197
|
-
throwErrorDeferred("Encountered the same test key \""
|
|
1200
|
+
throwErrorDeferred("Encountered the same test key \"".concat(key, "\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."));
|
|
1198
1201
|
}
|
|
1199
1202
|
}
|
|
1200
1203
|
|
|
@@ -1388,7 +1391,7 @@
|
|
|
1388
1391
|
*/
|
|
1389
1392
|
function getByGroup(severityKey, group, fieldName) {
|
|
1390
1393
|
if (!group) {
|
|
1391
|
-
throwError("get"
|
|
1394
|
+
throwError("get".concat(severityKey[0].toUpperCase()).concat(severityKey.slice(1), "ByGroup requires a group name. Received `").concat(group, "` instead."));
|
|
1392
1395
|
}
|
|
1393
1396
|
var testObjects = useTestsFlat();
|
|
1394
1397
|
return collectFailureMessages(severityKey, testObjects, {
|
|
@@ -1973,7 +1976,7 @@
|
|
|
1973
1976
|
});
|
|
1974
1977
|
}
|
|
1975
1978
|
function throwGroupError(error) {
|
|
1976
|
-
throwError("Wrong arguments passed to group. Group "
|
|
1979
|
+
throwError("Wrong arguments passed to group. Group ".concat(error, "."));
|
|
1977
1980
|
}
|
|
1978
1981
|
|
|
1979
1982
|
function include(fieldName) {
|
|
@@ -2061,7 +2064,12 @@
|
|
|
2061
2064
|
function skipWhen(conditional, callback) {
|
|
2062
2065
|
isolate({ type: IsolateTypes.SKIP_WHEN }, function () {
|
|
2063
2066
|
context.run({
|
|
2064
|
-
skipped:
|
|
2067
|
+
skipped:
|
|
2068
|
+
// Checking for nested conditional. If we're in a nested skipWhen,
|
|
2069
|
+
// we should skip the test if the parent conditional is true.
|
|
2070
|
+
isExcludedIndividually() ||
|
|
2071
|
+
// Otherwise, we should skip the test if the conditional is true.
|
|
2072
|
+
optionalFunctionValue(conditional, optionalFunctionValue(produceDraft))
|
|
2065
2073
|
}, function () { return callback(); });
|
|
2066
2074
|
});
|
|
2067
2075
|
}
|
|
@@ -2159,7 +2167,7 @@
|
|
|
2159
2167
|
}
|
|
2160
2168
|
}
|
|
2161
2169
|
catch (e) {
|
|
2162
|
-
throwError("
|
|
2170
|
+
throwError("Unexpected error encountered during test registration.\n Test Object: ".concat(testObject, ".\n Error: ").concat(e, "."));
|
|
2163
2171
|
}
|
|
2164
2172
|
}
|
|
2165
2173
|
|
|
@@ -2230,7 +2238,7 @@
|
|
|
2230
2238
|
if (shouldAllowReorder()) {
|
|
2231
2239
|
return;
|
|
2232
2240
|
}
|
|
2233
|
-
throwErrorDeferred("Vest Critical Error: Tests called in different order than previous run.\n expected: "
|
|
2241
|
+
throwErrorDeferred("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(prevTest.fieldName, "\n received: ").concat(newTestObject.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."));
|
|
2234
2242
|
}
|
|
2235
2243
|
function handleKeyTest(key, newTestObject) {
|
|
2236
2244
|
var prevTestByKey = usePrevTestByKey(key);
|
|
@@ -2309,7 +2317,7 @@
|
|
|
2309
2317
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
2310
2318
|
args[_i - 1] = arguments[_i];
|
|
2311
2319
|
}
|
|
2312
|
-
var _a = (isFunction(args[1]) ? args : __spreadArray([undefined], args)), message = _a[0], testFn = _a[1], key = _a[2];
|
|
2320
|
+
var _a = (isFunction(args[1]) ? args : __spreadArray([undefined], args, true)), message = _a[0], testFn = _a[1], key = _a[2];
|
|
2313
2321
|
if (isNotString(fieldName)) {
|
|
2314
2322
|
throwIncompatibleParamsError('fieldName', 'string');
|
|
2315
2323
|
}
|
|
@@ -2337,7 +2345,7 @@
|
|
|
2337
2345
|
memo: bindTestMemo(testBase)
|
|
2338
2346
|
});
|
|
2339
2347
|
function throwIncompatibleParamsError(name, expected) {
|
|
2340
|
-
throwError("Incompatible params passed to test function. "
|
|
2348
|
+
throwError("Incompatible params passed to test function. ".concat(name, " must be a ").concat(expected));
|
|
2341
2349
|
}
|
|
2342
2350
|
|
|
2343
2351
|
var ERROR_OUTSIDE_OF_TEST = "warn hook called outside of a test callback. It won't have an effect."
|
|
@@ -2353,7 +2361,7 @@
|
|
|
2353
2361
|
ctx.currentTest.warn();
|
|
2354
2362
|
}
|
|
2355
2363
|
|
|
2356
|
-
var VERSION = "4.
|
|
2364
|
+
var VERSION = "4.1.1";
|
|
2357
2365
|
|
|
2358
2366
|
exports.VERSION = VERSION;
|
|
2359
2367
|
exports.context = context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function y(n){return"number"==typeof n}function N(n,t){return n.length===Number(t)}function E(n){if(n){if(y(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return N(n,0);if("object"==typeof n)return N(Object.keys(n),0)}return!0}function b(n,t){return n in t}function T(n){return Number.isNaN(n)}function C(n){return!!c(n)&&0>Number(n)}function O(n){return!!n}function k(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function S(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function w(n,t){return n.length>Number(t)}function P(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function F(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function I(n,t){return o(n)&&o(t)&&n.startsWith(t)}function x(n){for(var e in ht){var r=ht[e];t(r)&&n(e,r)}}function W(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function X(n,t){var e;return null!==(e=W(n))&&void 0!==e?e:t}function _(n,t){throw Error(X(t,n))}function A(n,t){setTimeout((function(){_(n,t)}),0)}function D(n){function t(t,u){var i,o,s=e();return t=Hn({},s||{},null!==(i=W(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:_(X(n,"Context was used after it was closed"))}}}function L(){return null}function R(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 U(){try{return t(Proxy)}catch(n){return!1}}function M(n,t){return n={pass:n},t&&(n.message=t),n}function j(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return m(n)||n&&m(n.pass)||_("Incorrect return value for rule: "+JSON.stringify(n)),m(n)?M(n):M(n.pass,W.apply(void 0,R([n.message,t,e],r)))}function G(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=j.apply(void 0,R([gt.run({value:n},(function(){return e.apply(void 0,R([n],u))})),r,n],u))).pass){if(!E(i.message))throw i.message;_("enforce/"+r+" failed with "+JSON.stringify(n))}return t}}var e={};if(!U())return x((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=ht[e])return t(r,n,e)}});return r}function K(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function q(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=ht[r];e.push((function(n){return j.apply(void 0,R([o.apply(void 0,R([n],u)),r,n],u))}));var s={run:function(n){return X(K(e,(function(e,r){var u,i=gt.run({value:n},(function(){return e(n)}));i.pass||r(M(!!i.pass,null!==(u=W(t,n,i.message))&&void 0!==u?u:i.message))})),M(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return U()?s=new Proxy(s,{get:function(t,e){return ht[e]?n(e):t[e]}}):(x((function(t){s[t]=n(t)})),s)}}(n)}function B(n){function e(n,t,e){return u.references.push(),r(n,W(t,e)),function(){return[u.references[n],function(t){return r(n,W(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function H(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 V(n){return(n=[].concat(n))[n.length-1]}function Y(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return V(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,V(t)},removeLevel:function(){t.pop()},reset:n}}function J(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(J(u,t)):(u=t(u),Vn(u)&&e.push(u))}return e}function z(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(z(t)):[].concat(n).concat(t)}),[])}function Q(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=X(n[r],[]),n=n[r]}return n}function Z(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),w(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function $(){return bt.useX().stateRef}function nn(){return $().testObjects()}function tn(){(0,nn()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function en(n){(0,nn()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function rn(){return z(J(nn()[0].current,(function(n){return n.isPending()?n:null})))}function un(){var n=nn()[0].current;return Tt([n],(function(){return z(n)}))}function on(){return bt.useX().testCursor.getCursor()}function sn(){return bt.useX().testCursor.next()}function an(n,e){if(n=void 0===(n=n.type)?qn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=on();return bt.run({isolate:{type:n,keys:r}},(function(){bt.useX().testCursor.addLevel(),r.prev=function(){var n=nn()[0].prev;return[].concat(Q(n,on())).reduce((function(n,t){return t instanceof Ot&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),en((function(n){return Q(n,u)[V(u)]=[],n}));var n=e();return bt.useX().testCursor.removeLevel(),sn(),n}))}}function cn(n,t){return!(!t||n.fieldName!==t)}function fn(n){var t=rn();return!E(t)&&(n?t.some((function(t){return cn(t,n)})):ot(t))}function ln(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}function pn(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!cn(e,i)?r=!0:(r=e.warns(),r="warnings"===n!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),mt({},i&&((r={})[i]=[],r)))}function dn(n){return hn("errors",n)}function vn(n){return hn("warnings",n)}function hn(n,t){return n=pn(n,un(),{fieldName:t}),t?n[t]:n}function gn(n,t){return n=yn("errors",n,t),t?n[t]:n}function mn(n,t){return n=yn("warnings",n,t),t?n[t]:n}function yn(n,t,e){return t||_("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),pn(n,un(),{group:t,fieldName:e})}function Nn(n,t,e){return(e=!n.hasFailures()||e&&!cn(n,e))||(e="warnings"===t!=!!(n=n.warns())),!e}function En(n){return Tn("errors",n)}function bn(n){return Tn("warnings",n)}function Tn(n,t){return un().some((function(e){return Nn(e,n,t)}))}function Cn(n,t){return kn("errors",n,t)}function On(n,t){return kn("warnings",n,t)}function kn(n,t,e){return un().some((function(r){return t===r.groupName&&Nn(r,n,e)}))}function Sn(){var n=un(),t={stateRef:$()};return Xt([n],bt.bind(t,(function(){var n=$().suiteName()[0];return Hn(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return un().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=ln(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=ln(n.groups[r],t))})),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}(n)}(),{getErrors:bt.bind(t,dn),getErrorsByGroup:bt.bind(t,gn),getWarnings:bt.bind(t,vn),getWarningsByGroup:bt.bind(t,mn),hasErrors:bt.bind(t,En),hasErrorsByGroup:bt.bind(t,Cn),hasWarnings:bt.bind(t,bn),hasWarningsByGroup:bt.bind(t,On),isValid:bt.bind(t,(function(n){var t=Sn(),e=un().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=un())||n&&E(t.tests[n])||function(n){var t=$().optionalFields()[0];return ot(rn().filter((function(e){return!(n&&!cn(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=un(),e=$().optionalFields()[0];return t.every((function(t){return!(!n||cn(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function wn(){var n=un(),t={stateRef:$()};return _t([n],bt.bind(t,(function(){return Hn({},Sn(),{done:bt.bind(t,At)})})))}function Pn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function Fn(n){return!(fn()&&(!n||fn(n)))}function In(n,t){var e=bt.bind({},n);(0,$().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function xn(n){return n.forEach((function(n){return n()}))}function Wn(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Ct.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=$().testCallbacks()[0].fieldCallbacks;n&&!fn(n)&&p(t[n])&&xn(t[n]),n=$().testCallbacks()[0].doneCallbacks,fn()||xn(n)}})),n.on(Ct.SUITE_COMPLETED,(function(){!function(){var n=$().optionalFields()[0];if(!E(n)){var e={};en((function(r){return J(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(Ct.REMOVE_FIELD,(function(n){un().forEach((function(t){cn(t,n)&&(t.cancel(),function(n){en((function(t){return J(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Ct.RESET_FIELD,(function(n){un().forEach((function(t){cn(t,n)&&t.reset()}))})),n}function Xn(){var n=bt.useX();return n.bus||_(),n.bus}function _n(n){return Dn(0,"tests",n)}function An(n){return Dn(1,"tests",n)}function Dn(n,t,e){var r=bt.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Ln(n){for(var t in n)if(!0===n[t])return!0;return!1}function Rn(n){_("Wrong arguments passed to group. Group "+n+".")}function Un(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=Xn().emit,i=$(),s=bt.bind({stateRef:i},(function(){tn(),u(Ct.TEST_COMPLETED,n)}));i=bt.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Mn(n){var t=on();en((function(e){return Q(e,t)[V(t)]=n,e}))}function jn(n){var e=nn()[0].prev;if(E(e))Mn(n),e=n;else{var r=on();if(e=Q(e,r)[V(r)],i(n.key))!ot(r=e)||r.fieldName===n.fieldName&&r.groupName===n.groupName||(bt.useX().isolate.type!==qn.EACH&&A("Vest Critical Error: Tests called in different order than previous run.\n expected: "+e.fieldName+"\n received: "+n.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 n=nn(),t=n[1],e=n[0].prev;n=Q(e,on());var r=bt.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),Mn(e=X(e,n));else{e=n.key;var s=bt.useX().isolate.keys.prev[e];r=n,s&&(r=s),s=r;var a=bt.useX().isolate.keys.current;i(a[e])?a[e]=s:A('Encountered the same test key "'+e+"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."),Mn(e=r)}}if(bt.useX().omitted)return e.omit(),sn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,bt.useX().skipped)return!0;var e=bt.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=bt.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!Ln(u)&&!1!==u[t])}r=bt.useX().exclusion;n:{for(a in(s=bt.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!Ln(u)&&!W(e[t])}(n))return e.skip(!!bt.useX().skipped),sn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Mn(n),sn(),n.isUntested()){e=Xn(),r=function(n){return bt.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Un(n)):e.emit(Ct.TEST_COMPLETED,n)}catch(t){_("Your test function "+n.fieldName+' returned a value. Only "false" or Promise returns are supported.')}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),Un(n));return n}function Gn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:R([void 0],e);e=u[0],r=u[1],u=u[2],ft(n)&&Kn("fieldName","string"),t(r)||Kn("Test callback","function");var i=bt.useX();return jn(e=new Ot(n,r,{message:e,groupName:i.groupName,key:u}))}function Kn(n,t){_("Incompatible params passed to test function. "+n+" must be a "+t)}var qn,Bn,Hn=Object.assign,Vn=e(r),Yn=e(u),Jn=e(i),zn=e(s),Qn=e(a),Zn=e(c),$n=e(p),nt=e(d),tt=e(h),et=e(g),rt=e(m),ut=e(y),it=e(N),ot=e(E),st=e(b),at=e(T),ct=e(C),ft=e(o),lt=e(O),pt=e(k),dt=e(P),vt=e(F),ht={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:zn,doesNotStartWith:e(I),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:m,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:lt,isKeyOf:b,isNaN:T,isNegative:C,isNotArray:$n,isNotBetween:tt,isNotBlank:et,isNotBoolean:rt,isNotEmpty:ot,isNotKeyOf:st,isNotNaN:at,isNotNull:Vn,isNotNullish:Jn,isNotNumber:ut,isNotNumeric:Zn,isNotString:ft,isNotUndefined:Yn,isNotValueOf:pt,isNull:r,isNullish:i,isNumber:y,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:ct,isString:o,isTruthy:O,isUndefined:u,isValueOf:k,lengthEquals:N,lengthNotEquals:it,lessThan:S,lessThanOrEquals:v,longerThan:w,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:S,lte:v,matches:P,notEquals:Qn,notInside:nt,notMatches:dt,numberEquals:F,numberNotEquals:vt,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:I},gt=D((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Hn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Hn(e,{parent:L})})),mt=function(){return(mt=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)},yt=(Bn={context:function(){return gt.useX()},extend:function(n){Hn(ht,n)}},U()?new Proxy(Hn(G,Bn),{get:function(n,t){return t in n?n[t]:ht[t]?q(t):void 0}}):(x((function(n){Bn[n]=q(n)})),Hn(G,Bn))),Nt=function(n){return function(){return""+n++}}(0);!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"}(qn||(qn={}));var Et,bt=D((function(n,t){return t?null:Hn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:qn.DEFAULT,keys:{current:{},prev:{}}},testCursor:Y()},n)})),Tt=Z();!function(n){n.Error="error",n.Warning="warning"}(Et||(Et={}));var Ct,Ot=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=Nt(),this.severity=Et.Error,this.status=kt,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Wt||(this.status=n)},n.prototype.warns=function(){return this.severity===Et.Warning},n.prototype.setPending=function(){this.setStatus(It)},n.prototype.fail=function(){this.setStatus(this.warns()?Pt:wt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Ft)},n.prototype.warn=function(){this.severity=Et.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(St)},n.prototype.cancel=function(){this.setStatus(xt),tn()},n.prototype.reset=function(){this.status=kt,tn()},n.prototype.omit=function(){this.setStatus(Wt)},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.status===It},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.status===Wt},n.prototype.isUntested=function(){return this.status===kt},n.prototype.isFailing=function(){return this.status===wt},n.prototype.isCanceled=function(){return this.status===xt},n.prototype.isSkipped=function(){return this.status===St},n.prototype.isPassing=function(){return this.status===Ft},n.prototype.isWarning=function(){return this.status===Pt},n}(),kt="UNTESTED",St="SKIPPED",wt="FAILED",Pt="WARNING",Ft="PASSING",It="PENDING",xt="CANCELED",Wt="OMITTED",Xt=Z(20),_t=Z(20),At=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=wn(),Pn(e,n,t))return t;var r=function(){return e(Sn())};return Fn(n)?(r(),t):(In(r,n),t)};!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_COMPLETED="suite_completed"}(Ct||(Ct={})),_n.group=function(n){return Dn(0,"groups",n)},An.group=function(n){return Dn(1,"groups",n)};var Dt=Hn(Gn,{memo:function(n){var t=Z(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=bt.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[$().suiteId()[0],e,u].concat(i),null===(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)}))):jn(r[1])}}(Gn)});n.VERSION="4.0.4-dev-2d433c",n.context=bt,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||_("vest.create: Expected callback to be a function.");var u=Wn(),i=B();return n={stateRef:H(i,{suiteId:Nt(),suiteName:n}),bus:u},Hn(bt.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:qn.SUITE},(function(){r.apply(void 0,n)})),u.emit(Ct.SUITE_COMPLETED),wn()})),{get:bt.bind(n,Sn),remove:bt.bind(n,(function(n){u.emit(Ct.REMOVE_FIELD,n)})),reset:i.reset,resetField:bt.bind(n,(function(n){u.emit(Ct.RESET_FIELD,n)}))})},n.each=function(n,e){t(e)||_("callback must be a function"),an({type:qn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.enforce=yt,n.group=function(n,e){o(n)||Rn("name must be a string"),t(e)||Rn("callback must be a function"),an({type:qn.GROUP},(function(){bt.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=bt.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?X(r.tests[n],!0):o(t)?!!r.tests[t]:W(t,W(Sn))}}var e=bt.useX();return n?(e.inclusion[n]=X(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){an({type:qn.OMIT_WHEN},(function(){bt.run({omitted:W(n,W(Sn))},(function(){return t()}))}))},n.only=_n,n.optional=function(n){(0,$().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=An,n.skipWhen=function(n,t){an({type:qn.SKIP_WHEN},(function(){bt.run({skipped:W(n,W(Sn))},(function(){return t()}))}))},n.test=Dt,n.warn=function(){var n=bt.useX("warn hook called outside of a running suite.");n.currentTest||_("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function y(n){return"number"==typeof n}function N(n,t){return n.length===Number(t)}function E(n){if(n){if(y(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return N(n,0);if("object"==typeof n)return N(Object.keys(n),0)}return!0}function b(n,t){return n in t}function T(n){return Number.isNaN(n)}function C(n){return!!c(n)&&0>Number(n)}function O(n){return!!n}function k(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function S(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function w(n,t){return n.length>Number(t)}function P(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function F(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function I(n,t){return o(n)&&o(t)&&n.startsWith(t)}function x(n){for(var e in ht){var r=ht[e];t(r)&&n(e,r)}}function W(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function X(n,t){var e;return null!==(e=W(n))&&void 0!==e?e:t}function _(n,t){throw Error(X(t,n))}function A(n,t){setTimeout((function(){_(n,t)}),0)}function D(n){function t(t,u){var i,o,s=e();return t=Hn({},s||{},null!==(i=W(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:_(X(n,"Context was used after it was closed"))}}}function L(){return null}function U(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 q(){try{return t(Proxy)}catch(n){return!1}}function R(n,t){return n={pass:n},t&&(n.message=t),n}function M(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return m(n)||n&&m(n.pass)||_("Incorrect return value for rule: "+JSON.stringify(n)),m(n)?R(n):R(n.pass,W.apply(void 0,U([n.message,t,e],r,!1)))}function j(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=M.apply(void 0,U([gt.run({value:n},(function(){return e.apply(void 0,U([n],u,!1))})),r,n],u,!1))).pass){if(!E(i.message))throw i.message;_("enforce/".concat(r," failed with ").concat(JSON.stringify(n)))}return t}}var e={};if(!q())return x((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=ht[e])return t(r,n,e)}});return r}function G(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function K(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=ht[r];e.push((function(n){return M.apply(void 0,U([o.apply(void 0,U([n],u,!1)),r,n],u,!1))}));var s={run:function(n){return X(G(e,(function(e,r){var u,i=gt.run({value:n},(function(){return e(n)}));i.pass||r(R(!!i.pass,null!==(u=W(t,n,i.message))&&void 0!==u?u:i.message))})),R(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return q()?s=new Proxy(s,{get:function(t,e){return ht[e]?n(e):t[e]}}):(x((function(t){s[t]=n(t)})),s)}}(n)}function B(n){function e(n,t,e){return u.references.push(),r(n,W(t,e)),function(){return[u.references[n],function(t){return r(n,W(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function H(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 V(n){return(n=[].concat(n))[n.length-1]}function J(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return V(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,V(t)},removeLevel:function(){t.pop()},reset:n}}function Y(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(Y(u,t)):(u=t(u),Vn(u)&&e.push(u))}return e}function z(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(z(t)):[].concat(n).concat(t)}),[])}function Q(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=X(n[r],[]),n=n[r]}return n}function Z(n){void 0===n&&(n=1);var t=[],e=function(r,u){var i=e.get(r);return i?i[1]:(u=u(),t.unshift([r.concat(),u]),w(t,n)&&(t.length=n),u)};return e.invalidate=function(n){var e=t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}));-1<e&&t.splice(e,1)},e.get=function(n){return t[t.findIndex((function(t){var e=t[0];return N(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))]||null},e}function $(){return bt.useX().stateRef}function nn(){return $().testObjects()}function tn(){(0,nn()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function en(n){(0,nn()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function rn(){return z(Y(nn()[0].current,(function(n){return n.isPending()?n:null})))}function un(){var n=nn()[0].current;return Tt([n],(function(){return z(n)}))}function on(){return bt.useX().testCursor.getCursor()}function sn(){return bt.useX().testCursor.next()}function an(n,e){if(n=void 0===(n=n.type)?Kn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=on();return bt.run({isolate:{type:n,keys:r}},(function(){bt.useX().testCursor.addLevel(),r.prev=function(){var n=nn()[0].prev;return[].concat(Q(n,on())).reduce((function(n,t){return t instanceof Ot&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),en((function(n){return Q(n,u)[V(u)]=[],n}));var n=e();return bt.useX().testCursor.removeLevel(),sn(),n}))}}function cn(n,t){return!(!t||n.fieldName!==t)}function fn(n){var t=rn();return!E(t)&&(n?t.some((function(t){return cn(t,n)})):ot(t))}function ln(n,t){function e(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e("errorCount","errors"):t.isWarning()&&e("warnCount","warnings")),i}function pn(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!cn(e,i)?r=!0:(r=e.warns(),r="warnings"===n!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),mt({},i&&((r={})[i]=[],r)))}function dn(n){return hn("errors",n)}function vn(n){return hn("warnings",n)}function hn(n,t){return n=pn(n,un(),{fieldName:t}),t?n[t]:n}function gn(n,t){return n=yn("errors",n,t),t?n[t]:n}function mn(n,t){return n=yn("warnings",n,t),t?n[t]:n}function yn(n,t,e){return t||_("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),pn(n,un(),{group:t,fieldName:e})}function Nn(n,t,e){return(e=!n.hasFailures()||e&&!cn(n,e))||(e="warnings"===t!=!!(n=n.warns())),!e}function En(n){return Tn("errors",n)}function bn(n){return Tn("warnings",n)}function Tn(n,t){return un().some((function(e){return Nn(e,n,t)}))}function Cn(n,t){return kn("errors",n,t)}function On(n,t){return kn("warnings",n,t)}function kn(n,t,e){return un().some((function(r){return t===r.groupName&&Nn(r,n,e)}))}function Sn(){var n=un(),t={stateRef:$()};return Xt([n],bt.bind(t,(function(){var n=$().suiteName()[0];return Hn(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return un().forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=ln(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=ln(n.groups[r],t))})),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}(n)}(),{getErrors:bt.bind(t,dn),getErrorsByGroup:bt.bind(t,gn),getWarnings:bt.bind(t,vn),getWarningsByGroup:bt.bind(t,mn),hasErrors:bt.bind(t,En),hasErrorsByGroup:bt.bind(t,Cn),hasWarnings:bt.bind(t,bn),hasWarningsByGroup:bt.bind(t,On),isValid:bt.bind(t,(function(n){var t=Sn(),e=un().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=un())||n&&E(t.tests[n])||function(n){var t=$().optionalFields()[0];return ot(rn().filter((function(e){return!(n&&!cn(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=un(),e=$().optionalFields()[0];return t.every((function(t){return!(!n||cn(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function wn(){var n=un(),t={stateRef:$()};return _t([n],bt.bind(t,(function(){return Hn({},Sn(),{done:bt.bind(t,At)})})))}function Pn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function Fn(n){return!(fn()&&(!n||fn(n)))}function In(n,t){var e=bt.bind({},n);(0,$().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function xn(n){return n.forEach((function(n){return n()}))}function Wn(){var n=function(){var n={};return{emit:function(t,e){n[t]&&n[t].forEach((function(n){n(e)}))},on:function(t,e){return n[t]||(n[t]=[]),n[t].push(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Ct.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=$().testCallbacks()[0].fieldCallbacks;n&&!fn(n)&&p(t[n])&&xn(t[n]),n=$().testCallbacks()[0].doneCallbacks,fn()||xn(n)}})),n.on(Ct.SUITE_COMPLETED,(function(){!function(){var n=$().optionalFields()[0];if(!E(n)){var e={};en((function(r){return Y(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(Ct.REMOVE_FIELD,(function(n){un().forEach((function(t){cn(t,n)&&(t.cancel(),function(n){en((function(t){return Y(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Ct.RESET_FIELD,(function(n){un().forEach((function(t){cn(t,n)&&t.reset()}))})),n}function Xn(){var n=bt.useX();return n.bus||_(),n.bus}function _n(n){return Dn(0,"tests",n)}function An(n){return Dn(1,"tests",n)}function Dn(n,t,e){var r=bt.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Ln(n){for(var t in n)if(!0===n[t])return!0;return!1}function Un(n){_("Wrong arguments passed to group. Group ".concat(n,"."))}function qn(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=Xn().emit,i=$(),s=bt.bind({stateRef:i},(function(){tn(),u(Ct.TEST_COMPLETED,n)}));i=bt.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Rn(n){var t=on();en((function(e){return Q(e,t)[V(t)]=n,e}))}function Mn(n){var e=nn()[0].prev;if(E(e))Rn(n),e=n;else{var r=on();if(e=Q(e,r)[V(r)],i(n.key))!ot(r=e)||r.fieldName===n.fieldName&&r.groupName===n.groupName||(bt.useX().isolate.type!==Kn.EACH&&A("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(e.fieldName,"\n received: ").concat(n.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 n=nn(),t=n[1],e=n[0].prev;n=Q(e,on());var r=bt.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),Rn(e=X(e,n));else{e=n.key;var s=bt.useX().isolate.keys.prev[e];r=n,s&&(r=s),s=r;var a=bt.useX().isolate.keys.current;i(a[e])?a[e]=s:A('Encountered the same test key "'.concat(e,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Rn(e=r)}}if(bt.useX().omitted)return e.omit(),sn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,bt.useX().skipped)return!0;var e=bt.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=bt.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!Ln(u)&&!1!==u[t])}r=bt.useX().exclusion;n:{for(a in(s=bt.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!Ln(u)&&!W(e[t])}(n))return e.skip(!!bt.useX().skipped),sn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Rn(n),sn(),n.isUntested()){e=Xn(),r=function(n){return bt.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),qn(n)):e.emit(Ct.TEST_COMPLETED,n)}catch(t){_("Unexpected error encountered during test registration.\n Test Object: ".concat(n,".\n Error: ").concat(t,"."))}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),qn(n));return n}function jn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:U([void 0],e,!0);e=u[0],r=u[1],u=u[2],ft(n)&&Gn("fieldName","string"),t(r)||Gn("Test callback","function");var i=bt.useX();return Mn(e=new Ot(n,r,{message:e,groupName:i.groupName,key:u}))}function Gn(n,t){_("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}var Kn,Bn,Hn=Object.assign,Vn=e(r),Jn=e(u),Yn=e(i),zn=e(s),Qn=e(a),Zn=e(c),$n=e(p),nt=e(d),tt=e(h),et=e(g),rt=e(m),ut=e(y),it=e(N),ot=e(E),st=e(b),at=e(T),ct=e(C),ft=e(o),lt=e(O),pt=e(k),dt=e(P),vt=e(F),ht={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:zn,doesNotStartWith:e(I),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:m,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:lt,isKeyOf:b,isNaN:T,isNegative:C,isNotArray:$n,isNotBetween:tt,isNotBlank:et,isNotBoolean:rt,isNotEmpty:ot,isNotKeyOf:st,isNotNaN:at,isNotNull:Vn,isNotNullish:Yn,isNotNumber:ut,isNotNumeric:Zn,isNotString:ft,isNotUndefined:Jn,isNotValueOf:pt,isNull:r,isNullish:i,isNumber:y,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:ct,isString:o,isTruthy:O,isUndefined:u,isValueOf:k,lengthEquals:N,lengthNotEquals:it,lessThan:S,lessThanOrEquals:v,longerThan:w,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:S,lte:v,matches:P,notEquals:Qn,notInside:nt,notMatches:dt,numberEquals:F,numberNotEquals:vt,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:I},gt=D((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Hn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Hn(e,{parent:L})})),mt=function(){return(mt=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)},yt=(Bn={context:function(){return gt.useX()},extend:function(n){Hn(ht,n)}},q()?new Proxy(Hn(j,Bn),{get:function(n,t){return t in n?n[t]:ht[t]?K(t):void 0}}):(x((function(n){Bn[n]=K(n)})),Hn(j,Bn))),Nt=function(n){return function(){return"".concat(n++)}}(0);!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"}(Kn||(Kn={}));var Et,bt=D((function(n,t){return t?null:Hn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:Kn.DEFAULT,keys:{current:{},prev:{}}},testCursor:J()},n)})),Tt=Z();!function(n){n.Error="error",n.Warning="warning"}(Et||(Et={}));var Ct,Ot=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=Nt(),this.severity=Et.Error,this.status=kt,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Wt||(this.status=n)},n.prototype.warns=function(){return this.severity===Et.Warning},n.prototype.setPending=function(){this.setStatus(It)},n.prototype.fail=function(){this.setStatus(this.warns()?Pt:wt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Ft)},n.prototype.warn=function(){this.severity=Et.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(St)},n.prototype.cancel=function(){this.setStatus(xt),tn()},n.prototype.reset=function(){this.status=kt,tn()},n.prototype.omit=function(){this.setStatus(Wt)},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(It)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Wt)},n.prototype.isUntested=function(){return this.statusEquals(kt)},n.prototype.isFailing=function(){return this.statusEquals(wt)},n.prototype.isCanceled=function(){return this.statusEquals(xt)},n.prototype.isSkipped=function(){return this.statusEquals(St)},n.prototype.isPassing=function(){return this.statusEquals(Ft)},n.prototype.isWarning=function(){return this.statusEquals(Pt)},n.prototype.statusEquals=function(n){return this.status===n},n}(),kt="UNTESTED",St="SKIPPED",wt="FAILED",Pt="WARNING",Ft="PASSING",It="PENDING",xt="CANCELED",Wt="OMITTED",Xt=Z(20),_t=Z(20),At=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=wn(),Pn(e,n,t))return t;var r=function(){return e(Sn())};return Fn(n)?(r(),t):(In(r,n),t)};!function(n){n.TEST_COMPLETED="test_completed",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_COMPLETED="suite_completed"}(Ct||(Ct={})),_n.group=function(n){return Dn(0,"groups",n)},An.group=function(n){return Dn(1,"groups",n)};var Dt=Hn(jn,{memo:function(n){var t=Z(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=bt.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[$().suiteId()[0],e,u].concat(i),null===(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)}))):Mn(r[1])}}(jn)});n.VERSION="4.1.1",n.context=bt,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||_("vest.create: Expected callback to be a function.");var u=Wn(),i=B();return n={stateRef:H(i,{suiteId:Nt(),suiteName:n}),bus:u},Hn(bt.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:Kn.SUITE},(function(){r.apply(void 0,n)})),u.emit(Ct.SUITE_COMPLETED),wn()})),{get:bt.bind(n,Sn),remove:bt.bind(n,(function(n){u.emit(Ct.REMOVE_FIELD,n)})),reset:i.reset,resetField:bt.bind(n,(function(n){u.emit(Ct.RESET_FIELD,n)}))})},n.each=function(n,e){t(e)||_("callback must be a function"),an({type:Kn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.enforce=yt,n.group=function(n,e){o(n)||Un("name must be a string"),t(e)||Un("callback must be a function"),an({type:Kn.GROUP},(function(){bt.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=bt.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?X(r.tests[n],!0):o(t)?!!r.tests[t]:W(t,W(Sn))}}var e=bt.useX();return n?(e.inclusion[n]=X(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){an({type:Kn.OMIT_WHEN},(function(){bt.run({omitted:W(n,W(Sn))},(function(){return t()}))}))},n.only=_n,n.optional=function(n){(0,$().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=An,n.skipWhen=function(n,t){an({type:Kn.SKIP_WHEN},(function(){bt.run({skipped:!!bt.useX().skipped||W(n,W(Sn))},(function(){return t()}))}))},n.test=Dt,n.warn=function(){var n=bt.useX("warn hook called outside of a running suite.");n.currentTest||_("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../../dist/cjs/enforce/compose.js",
|
|
3
3
|
"module": "../../dist/es/enforce/compose.production.js",
|
|
4
|
+
"unpkg": "../../dist/umd/enforce/compose.production.js",
|
|
5
|
+
"jsdelivr": "../../dist/umd/enforce/compose.production.js",
|
|
4
6
|
"name": "compose",
|
|
5
7
|
"types": "../../types/enforce/compose.d.ts",
|
|
6
8
|
"private": true
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../../dist/cjs/enforce/compounds.js",
|
|
3
3
|
"module": "../../dist/es/enforce/compounds.production.js",
|
|
4
|
+
"unpkg": "../../dist/umd/enforce/compounds.production.js",
|
|
5
|
+
"jsdelivr": "../../dist/umd/enforce/compounds.production.js",
|
|
4
6
|
"name": "compounds",
|
|
5
7
|
"types": "../../types/enforce/compounds.d.ts",
|
|
6
8
|
"private": true
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../../dist/cjs/enforce/schema.js",
|
|
3
3
|
"module": "../../dist/es/enforce/schema.production.js",
|
|
4
|
+
"unpkg": "../../dist/umd/enforce/schema.production.js",
|
|
5
|
+
"jsdelivr": "../../dist/umd/enforce/schema.production.js",
|
|
4
6
|
"name": "schema",
|
|
5
7
|
"types": "../../types/enforce/schema.d.ts",
|
|
6
8
|
"private": true
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.
|
|
2
|
+
"version": "4.1.2",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "vest",
|
|
5
5
|
"author": "ealush",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"context": "^2.0.1",
|
|
24
|
-
"n4s": "^4.1.
|
|
24
|
+
"n4s": "^4.1.2"
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://vestjs.dev/",
|
|
27
27
|
"exports": {
|
|
@@ -227,5 +227,7 @@
|
|
|
227
227
|
},
|
|
228
228
|
"./package.json": "./package.json",
|
|
229
229
|
"./": "./"
|
|
230
|
-
}
|
|
230
|
+
},
|
|
231
|
+
"unpkg": "./dist/umd/vest.production.js",
|
|
232
|
+
"jsdelivr": "./dist/umd/vest.production.js"
|
|
231
233
|
}
|
package/parser/package.json
CHANGED
package/promisify/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../dist/cjs/promisify.js",
|
|
3
3
|
"module": "../dist/es/promisify.production.js",
|
|
4
|
+
"unpkg": "../dist/umd/promisify.production.js",
|
|
5
|
+
"jsdelivr": "../dist/umd/promisify.production.js",
|
|
4
6
|
"name": "promisify",
|
|
5
7
|
"types": "../types/promisify.d.ts",
|
|
6
8
|
"private": true
|
package/types/vest.d.ts
CHANGED
|
@@ -131,6 +131,7 @@ declare class VestTest {
|
|
|
131
131
|
isSkipped(): boolean;
|
|
132
132
|
isPassing(): boolean;
|
|
133
133
|
isWarning(): boolean;
|
|
134
|
+
statusEquals(status: KStatus): boolean;
|
|
134
135
|
}
|
|
135
136
|
type TAsyncTest = Promise<string | void>;
|
|
136
137
|
type TTestResult = TAsyncTest | boolean | void;
|
|
@@ -316,5 +317,5 @@ declare const test: typeof testBase & {
|
|
|
316
317
|
* Sets a running test to warn only mode.
|
|
317
318
|
*/
|
|
318
319
|
declare function warn(): void;
|
|
319
|
-
declare const VERSION = "4.
|
|
320
|
+
declare const VERSION = "4.1.1";
|
|
320
321
|
export { test, create, each, only, skip, warn, group, optional, skipWhen, omitWhen, enforce, VERSION, context, include };
|