vest 4.6.1 → 4.6.2-dev-fcaa09
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/enforce_compose.development.js +2 -0
- package/dist/cjs/enforce_compose.js +7 -0
- package/dist/cjs/enforce_compose.production.js +1 -0
- package/dist/cjs/enforce_compounds.development.js +4 -0
- package/dist/cjs/enforce_compounds.js +7 -0
- package/dist/cjs/enforce_compounds.production.js +1 -0
- package/dist/cjs/enforce_schema.development.js +4 -0
- package/dist/cjs/enforce_schema.js +7 -0
- package/dist/cjs/enforce_schema.production.js +1 -0
- package/dist/cjs/vest.development.js +4 -74
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/enforce_compose.development.js +1 -0
- package/dist/es/enforce_compose.production.js +1 -0
- package/dist/es/enforce_compounds.development.js +1 -0
- package/dist/es/enforce_compounds.production.js +1 -0
- package/dist/es/enforce_schema.development.js +1 -0
- package/dist/es/enforce_schema.production.js +1 -0
- package/dist/es/vest.development.js +4 -74
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/enforce_compose.development.js +8 -0
- package/dist/umd/enforce_compose.production.js +1 -0
- package/dist/umd/enforce_compounds.development.js +8 -0
- package/dist/umd/enforce_compounds.production.js +1 -0
- package/dist/umd/enforce_schema.development.js +8 -0
- package/dist/umd/enforce_schema.production.js +1 -0
- package/dist/umd/vest.development.js +7 -78
- package/dist/umd/vest.production.js +1 -1
- package/enforce_compose/package.json +9 -0
- package/enforce_compounds/package.json +9 -0
- package/enforce_schema/package.json +9 -0
- package/package.json +80 -79
- package/tsconfig.json +85 -1
- package/types/classnames.d.ts +1 -0
- package/types/classnames.d.ts.map +1 -0
- package/types/enforce_compose.d.ts +2 -0
- package/types/enforce_compose.d.ts.map +1 -0
- package/types/enforce_compounds.d.ts +2 -0
- package/types/enforce_compounds.d.ts.map +1 -0
- package/types/enforce_schema.d.ts +2 -0
- package/types/enforce_schema.d.ts.map +1 -0
- package/types/parser.d.ts +1 -0
- package/types/parser.d.ts.map +1 -0
- package/types/promisify.d.ts +1 -0
- package/types/promisify.d.ts.map +1 -0
- package/types/vest.d.ts +5 -10
- package/types/vest.d.ts.map +1 -0
- package/dist/cjs/compose.js +0 -7
- package/dist/cjs/compounds.js +0 -7
- package/dist/cjs/enforce/compose.development.js +0 -60
- package/dist/cjs/enforce/compose.production.js +0 -1
- package/dist/cjs/enforce/compounds.development.js +0 -92
- package/dist/cjs/enforce/compounds.production.js +0 -1
- package/dist/cjs/enforce/package.json +0 -1
- package/dist/cjs/enforce/schema.development.js +0 -92
- package/dist/cjs/enforce/schema.production.js +0 -1
- package/dist/cjs/schema.js +0 -7
- package/dist/es/enforce/compose.development.js +0 -58
- package/dist/es/enforce/compose.production.js +0 -1
- package/dist/es/enforce/compounds.development.js +0 -90
- package/dist/es/enforce/compounds.production.js +0 -1
- package/dist/es/enforce/package.json +0 -1
- package/dist/es/enforce/schema.development.js +0 -88
- package/dist/es/enforce/schema.production.js +0 -1
- package/dist/umd/enforce/compose.development.js +0 -63
- package/dist/umd/enforce/compose.production.js +0 -1
- package/dist/umd/enforce/compounds.development.js +0 -95
- package/dist/umd/enforce/compounds.production.js +0 -1
- package/dist/umd/enforce/schema.development.js +0 -95
- package/dist/umd/enforce/schema.production.js +0 -1
- package/enforce/compose/package.json +0 -9
- package/enforce/compounds/package.json +0 -9
- package/enforce/schema/package.json +0 -9
- package/types/enforce/compose.d.ts +0 -126
- package/types/enforce/compounds.d.ts +0 -136
- package/types/enforce/schema.d.ts +0 -144
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("n4s/compounds");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("n4s/schema");
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var n4s = require('n4s');
|
|
6
6
|
var vestUtils = require('vest-utils');
|
|
7
7
|
var context$1 = require('context');
|
|
8
|
+
var vast = require('vast');
|
|
8
9
|
|
|
9
10
|
function shouldUseErrorAsMessage(message, error) {
|
|
10
11
|
// kind of cheating with this safe guard, but it does the job
|
|
@@ -289,70 +290,6 @@ var STATUS_PENDING = 'PENDING';
|
|
|
289
290
|
var STATUS_CANCELED = 'CANCELED';
|
|
290
291
|
var STATUS_OMITTED = 'OMITTED';
|
|
291
292
|
|
|
292
|
-
// eslint-disable-next-line max-lines-per-function
|
|
293
|
-
function createState(onStateChange) {
|
|
294
|
-
var state = {
|
|
295
|
-
references: []
|
|
296
|
-
};
|
|
297
|
-
var registrations = [];
|
|
298
|
-
return {
|
|
299
|
-
registerStateKey: registerStateKey,
|
|
300
|
-
reset: reset
|
|
301
|
-
};
|
|
302
|
-
/**
|
|
303
|
-
* Registers a new key in the state, takes the initial value (may be a function that returns the initial value), returns a function.
|
|
304
|
-
*
|
|
305
|
-
* @example
|
|
306
|
-
*
|
|
307
|
-
* const useColor = state.registerStateKey("blue");
|
|
308
|
-
*
|
|
309
|
-
* let [color, setColor] = useColor(); // -> ["blue", Function]
|
|
310
|
-
*
|
|
311
|
-
* setColor("green");
|
|
312
|
-
*
|
|
313
|
-
* useColor()[0]; -> "green"
|
|
314
|
-
*/
|
|
315
|
-
function registerStateKey(initialState, onUpdate) {
|
|
316
|
-
var key = registrations.length;
|
|
317
|
-
registrations.push([initialState, onUpdate]);
|
|
318
|
-
return initKey(key, initialState);
|
|
319
|
-
}
|
|
320
|
-
function reset() {
|
|
321
|
-
var prev = current();
|
|
322
|
-
state.references = [];
|
|
323
|
-
registrations.forEach(function (_a, index) {
|
|
324
|
-
var initialValue = _a[0];
|
|
325
|
-
return initKey(index, initialValue, prev[index]);
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
function initKey(key, initialState, prevState) {
|
|
329
|
-
current().push();
|
|
330
|
-
set(key, vestUtils.optionalFunctionValue(initialState, prevState));
|
|
331
|
-
return function useStateKey() {
|
|
332
|
-
return [
|
|
333
|
-
current()[key],
|
|
334
|
-
function (nextState) {
|
|
335
|
-
return set(key, vestUtils.optionalFunctionValue(nextState, current()[key]));
|
|
336
|
-
},
|
|
337
|
-
];
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
function current() {
|
|
341
|
-
return state.references;
|
|
342
|
-
}
|
|
343
|
-
function set(index, value) {
|
|
344
|
-
var prevValue = state.references[index];
|
|
345
|
-
state.references[index] = value;
|
|
346
|
-
var _a = registrations[index], onUpdate = _a[1];
|
|
347
|
-
if (vestUtils.isFunction(onUpdate)) {
|
|
348
|
-
onUpdate(value, prevValue);
|
|
349
|
-
}
|
|
350
|
-
if (vestUtils.isFunction(onStateChange)) {
|
|
351
|
-
onStateChange();
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
|
|
356
293
|
function createStateRef(state, _a) {
|
|
357
294
|
var suiteId = _a.suiteId, suiteName = _a.suiteName;
|
|
358
295
|
return {
|
|
@@ -1115,7 +1052,7 @@ function create() {
|
|
|
1115
1052
|
// Event bus initialization
|
|
1116
1053
|
var bus = initBus();
|
|
1117
1054
|
// State initialization
|
|
1118
|
-
var state = createState();
|
|
1055
|
+
var state = vast.createState();
|
|
1119
1056
|
// State reference - this holds the actual state values
|
|
1120
1057
|
var stateRef = createStateRef(state, { suiteId: vestUtils.seq(), suiteName: suiteName });
|
|
1121
1058
|
// Create base context reference. All hooks will derive their data from this
|
|
@@ -1507,14 +1444,7 @@ function runAsyncTest(testObject) {
|
|
|
1507
1444
|
testObject.fail();
|
|
1508
1445
|
done();
|
|
1509
1446
|
});
|
|
1510
|
-
|
|
1511
|
-
asyncTest.then(done, fail);
|
|
1512
|
-
}
|
|
1513
|
-
catch (e) {
|
|
1514
|
-
// We will probably never get here, unless the consumer uses a buggy custom Promise
|
|
1515
|
-
// implementation that behaves differently than the native one, or if they for some
|
|
1516
|
-
fail();
|
|
1517
|
-
}
|
|
1447
|
+
asyncTest.then(done, fail);
|
|
1518
1448
|
}
|
|
1519
1449
|
|
|
1520
1450
|
/**
|
|
@@ -1733,7 +1663,7 @@ function warn() {
|
|
|
1733
1663
|
ctx.currentTest.warn();
|
|
1734
1664
|
}
|
|
1735
1665
|
|
|
1736
|
-
var VERSION = "4.6.
|
|
1666
|
+
var VERSION = "4.6.2-dev-fcaa09";
|
|
1737
1667
|
|
|
1738
1668
|
Object.defineProperty(exports, 'enforce', {
|
|
1739
1669
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t,e,r=require("n4s"),i=require("vest-utils"),u=require("context");function o(){var n=0;return{current:function(){return n},next:function(){n++}}}function s(n,t){return void 0===t&&(t=[]),{cursor:o(),keys:{current:{},prev:{}},path:t,type:n}}(t=n||(n={}))[t.DEFAULT=0]="DEFAULT",t[t.SUITE=1]="SUITE",t[t.EACH=2]="EACH",t[t.SKIP_WHEN=3]="SKIP_WHEN",t[t.OMIT_WHEN=4]="OMIT_WHEN",t[t.GROUP=5]="GROUP",function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(e||(e={}));var a=u.createCascade((function(t,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(n.DEFAULT),mode:[e.ALL]},t)}));function c(){return a.useX().stateRef}function f(){return c().suiteId()[0]}function l(){return c().testCallbacks()}function p(){return c().optionalFields()}function d(n,t){(0,p()[1])((function(e){var r;return i.assign(e,((r={})[n]=i.assign({},e[n],t(e[n])),r))}))}function v(n){var t;return null!==(t=p()[0][n])&&void 0!==t?t:{}}function E(){return c().testObjects()}function h(){g((function(n){return n}))}function g(n){(0,E()[1])((function(t){return{prev:t.prev,current:i.asArray(n(t.current))}}))}function y(){return R().filter((function(n){return n.isPending()}))}var N,m=i.cache();function R(){var n=E()[0].current;return m([n],(function(){return i.nestedArray.flatten(n)}))}function S(n){R().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(N||(N={}));var T,C,A=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.seq(),this.severity=N.Error,this.status=_,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){(function(n,t){return i.isUndefined(n)&&i.isStringValue(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==x||(this.status=n)},n.prototype.warns=function(){return this.severity===N.Warning},n.prototype.setPending=function(){this.setStatus(k)},n.prototype.fail=function(){this.setStatus(this.warns()?O:F)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(b)},n.prototype.warn=function(){this.severity=N.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(I)},n.prototype.cancel=function(){this.setStatus(P),h()},n.prototype.reset=function(){this.status=_,h()},n.prototype.omit=function(){this.setStatus(x)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.isPending=function(){return this.statusEquals(k)},n.prototype.isOmitted=function(){return this.statusEquals(x)},n.prototype.isUntested=function(){return this.statusEquals(_)},n.prototype.isFailing=function(){return this.statusEquals(F)},n.prototype.isCanceled=function(){return this.statusEquals(P)},n.prototype.isSkipped=function(){return this.statusEquals(I)},n.prototype.isPassing=function(){return this.statusEquals(b)},n.prototype.isWarning=function(){return this.statusEquals(O)},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},n.prototype.statusEquals=function(n){return this.status===n},n}(),_="UNTESTED",I="SKIPPED",F="FAILED",O="WARNING",b="PASSING",k="PENDING",P="CANCELED",x="OMITTED";function L(n){function t(n,t,u){return r.references.push(),e(n,i.optionalFunctionValue(t,u)),function(){return[r.references[n],function(t){return e(n,i.optionalFunctionValue(t,r.references[n]))}]}}function e(t,e){var o=r.references[t];r.references[t]=e,t=u[t][1],i.isFunction(t)&&t(e,o),i.isFunction(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 U(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 D(){return a.useX().isolate}function W(){var n=D();return n.path.concat(n.cursor.current())}function V(){return D().cursor}function w(t,e){t=void 0===(t=t.type)?n.DEFAULT:t,i.invariant(i.isFunction(e));var r=s(t,W());return t=a.run({isolate:r},(function(){return r.keys.prev=function(){var n=E()[0].prev;return i.asArray(i.nestedArray.getCurrent(n,W())).reduce((function(n,t){return t instanceof A&&!i.isNullish(t.key)?(n[t.key]=t,n):n}),{})}(),g((function(n){return i.nestedArray.setValueAtPath(n,r.path,[])})),e()})),V().next(),t}function G(n){return n===T.ERRORS?C.ERROR_COUNT:C.WARN_COUNT}function q(n,t){return!!t&&!X(n,t)}function X(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(T||(T={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(C||(C={}));var H,K=i.bindNot((function(n,t){return n.groupName===t}));function M(n){return function(n,t){return R().some((function(e){return B(e,n,t)}))}(T.ERRORS,n)}function B(n,t,e){return!(!n.hasFailures()||q(n,e)||function(n,t){return i.either(n===T.WARNINGS,t.warns())}(t,n))}function j(n){return!!n&&v(n).applied}function Y(n){if(j(n))return!0;var t=R();return!(i.isEmpty(t)||M(n)||function(n){return i.isNotEmpty(y().filter((function(t){return z(t,n)})))}(n))&&function(n){return R().every((function(t){return Q(t,n)}))}(n)}function J(n,t){return!!j(t)||!function(n,t,e){return R().some((function(r){return!K(r,t)&&B(r,n,e)}))}(T.ERRORS,n,t)&&!function(n,t){return i.isNotEmpty(y().filter((function(e){return!K(e,n)&&z(e,t)})))}(n,t)&&function(n,t){return R().every((function(e){return!!K(e,n)||Q(e,t)}))}(n,t)}function z(n,t){return!q(n,t)&&j(t)}function Q(n,t){return!!q(n,t)||(function(n){return v(n.fieldName).type===H.Delayed&&n.awaitsResolution()}(n)||n.isTested()||n.isOmitted())}function Z(){var n=R(),t=i.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=$(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&Y(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;e&&(n[e]=n[e]||{},n[e][t.fieldName]=$(n[e],t),n[e][t.fieldName].valid=!1!==n[e][t.fieldName].valid&&J(e,t.fieldName))}(n.groups,t),n}),t),t.valid=Y(),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(t)}function $(n,t){function e(n){var t=G(n);o[t]++,u&&(o[n]=(o[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(T.ERRORS):t.isWarning()&&e(T.WARNINGS)),o}function nn(n,t,e){return e?function(n,t,e){var r;return(null===(r=null==n?void 0:n[e])||void 0===r?void 0:r[t])||[]}(n,t,e):function(n,t){var e,r={},u=G(t);for(e in n)i.isPositive(n[e][u])&&(r[e]=n[e][t]||[]);return r}(n,t)}function tn(n){return{getErrors:function(t){return en(n,T.ERRORS,t)},getErrorsByGroup:function(t,e){return rn(n,T.ERRORS,t,e)},getWarnings:function(t){return en(n,T.WARNINGS,t)},getWarningsByGroup:function(t,e){return rn(n,T.WARNINGS,t,e)},hasErrors:function(t){return sn(n,C.ERROR_COUNT,t)},hasErrorsByGroup:function(t,e){return on(n,C.ERROR_COUNT,t,e)},hasWarnings:function(t){return sn(n,C.WARN_COUNT,t)},hasWarningsByGroup:function(t,e){return on(n,C.WARN_COUNT,t,e)},isValid:function(t){var e;return t?!(null===(e=n.tests[t])||void 0===e||!e.valid):n.valid},isValidByGroup:function(t,e){if(!(t=n.groups[t]))return!1;if(e)return un(t,e);for(var r in t)if(!un(t,r))return!1;return!0}}}function en(n,t,e){return nn(n.tests,t,e)}function rn(n,t,e,r){return nn(n.groups[e],t,r)}function un(n,t){var e;return!(null===(e=n[t])||void 0===e||!e.valid)}function on(n,t,e,r){var u,o;if(!(n=n.groups[e]))return!1;if(r)return i.isPositive(null===(u=n[r])||void 0===u?void 0:u[t]);for(var s in n)if(i.isPositive(null===(o=n[s])||void 0===o?void 0:o[t]))return!0;return!1}function sn(n,t,e){var r;return n=e?null===(r=n.tests[e])||void 0===r?void 0:r[t]:n[t]||0,i.isPositive(n)}!function(n){n[n.Immediate=0]="Immediate",n[n.Delayed=1]="Delayed"}(H||(H={}));var an=i.cache(1);function cn(){var n=R(),t={stateRef:c()};return an([n],a.bind(t,(function(){var n=Z(),t=c().suiteName()[0];return i.assign(n,tn(n),{suiteName:t})})))}function fn(n){var t=y();return!i.isEmpty(t)&&(!n||t.some((function(t){return X(t,n)})))}var ln=i.cache(20);function pn(){var n=R(),t={stateRef:c()};return ln([n],a.bind(t,(function(){return i.assign({},cn(),{done:a.bind(t,hn)})})))}function dn(n,t,e){var r;return!!(!i.isFunction(n)||t&&i.numberEquals(null===(r=e.tests[t])||void 0===r?void 0:r.testCount,0))}function vn(n){return!(fn()&&(!n||fn(n)))}var En,hn=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=pn(),dn(e,n,t))return t;var r=function(){return e(cn())};return vn(n)?(r(),t):(gn(r,n),t)};function gn(n,t){(0,l()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function yn(){var n=i.bus.createBus();return n.on(En.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=l()[0].fieldCallbacks;n&&!fn(n)&&i.isArray(t[n])&&i.callEach(t[n])}(t.fieldName),fn()||n.emit(En.ALL_RUNNING_TESTS_FINISHED))})),n.on(En.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function n(n){e[n.fieldName]&&(n.omit(),d(n.fieldName,(function(){return{applied:!0}})))}var t=p()[0];if(!i.isEmpty(t)){var e={};R().forEach((function(t){if(i.hasOwnProperty(e,t.fieldName))n(t);else{var r=v(t.fieldName);r.type===H.Immediate&&(e[t.fieldName]=i.optionalFunctionValue(r.rule),n(t))}})),h()}}()})),n.on(En.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var n=l()[0].doneCallbacks;i.callEach(n)}()})),n.on(En.REMOVE_FIELD,(function(n){S((function(t){X(t,n)&&(t.cancel(),function(n){g((function(t){return i.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(En.RESET_FIELD,(function(n){S((function(t){X(t,n)&&t.reset()}))})),n}function Nn(){var n=a.useX();return i.invariant(n.bus),n.bus}!function(n){n.TEST_COMPLETED="test_completed",n.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",n.REMOVE_FIELD="remove_field",n.RESET_FIELD="reset_field",n.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(En||(En={}));function mn(){return!!a.useX().skipped}function Rn(n){return Cn(0,"tests",n)}function Sn(n){return Cn(1,"tests",n)}function Tn(n){var t=n.fieldName;if(n=n.groupName,mn())return!0;var e=a.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[t];if(!1===o)return!0;if(o=!0===o,n){if(function(n){var t=a.useX().exclusion.groups;return i.hasOwnProperty(t,n)?!1===t[n]:_n()}(n))return!0;if(!0===r.groups[n])return!o&&(!!An(u)||!1===u[t])}return!!function(n){return!!_n()&&!n}(n)||!o&&(!!An(u)&&!i.optionalFunctionValue(e[t]))}function Cn(n,t,e){var r=a.useX("hook called outside of a running suite.");e&&i.asArray(e).forEach((function(e){i.isStringValue(e)&&(r.exclusion[t][e]=0===n)}))}function An(n){for(var t in n)if(!0===n[t])return!0;return!1}function _n(){var n,t=a.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}function In(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function Fn(n){return function(n){return a.useX().mode[0]===n}(e.EAGER)&&M(n.fieldName)}function On(){return!!a.useX().omitted}function bn(n,t,e){if(e||2===arguments.length)for(var r,i=0,u=t.length;i<u;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return n.concat(r||Array.prototype.slice.call(t))}function kn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Pn(n){var t=n.asyncTest,e=n.message;if(i.isPromise(t)){var r=Nn().emit,u=c(),o=a.bind({stateRef:u},(function(){h(),r(En.TEST_COMPLETED,n)}));u=a.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=i.isStringValue(t)?t:e,n.fail(),o())}));try{t.then(o,u)}catch(n){u()}}}function xn(n){var t=Nn(),e=function(n){return a.run({currentTest:n},(function(){return n.run()}))}(n);try{i.isPromise(e)?(n.asyncTest=e,n.setPending(),Pn(n)):t.emit(En.TEST_COMPLETED,n)}catch(t){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function Ln(t){var e=E()[0].prev;return i.isEmpty(e)?(Un(t),t):(e=function(n){var t=W();return i.nestedArray.valueAtPath(n,t)}(e),i.isNullish(t.key)?(function(n,t){return i.isNotEmpty(n)&&!kn(n,t)}(e,t)&&(function(t,e){D().type===n.EACH||i.deferThrow("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.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,t),function(){var n=V().current();g((function(t){return t.splice(n),t}))}(),e=null),Un(t=i.defaultTo(e,t)),t):(t=function(n,t){var e=function(n){return D().keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=D().keys.current;i.isNullish(e[n])?e[n]=t:i.deferThrow('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}(t.key,t),Un(t),t))}function Un(n){var t=W();g((function(e){return i.nestedArray.setValueAtPath(e,t,n)}))}function Dn(n){var t=V();if(Fn(n))return n.skip(),Ln(n),t.next(),n;var e=Ln(n);return On()||j(n.fieldName)?(e.omit(),t.next(),e):Tn(n)?(e.skip(mn()),t.next(),e):(function(n,t){t!==n&&kn(n,t)&&n.isPending()&&n.cancel()}(e,n),Un(n),function(n){n.isUntested()?xn(n):i.isPromise(n.asyncTest)&&(n.setPending(),Pn(n))}(n),t.next(),n)}function Wn(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=i.isFunction(t[1])?t:bn([void 0],t,!0);t=r[0],e=r[1],r=r[2],i.invariant(i.isStringValue(n),wn("fieldName","string")),i.invariant(i.isFunction(e),wn("Test callback","function"));var u=a.useX();return Dn(t=new A(n,e,{message:t,groupName:u.groupName,key:r}))}Rn.group=function(n){return Cn(0,"groups",n)},Sn.group=function(n){return Cn(1,"groups",n)};var Vn=i.assign(Wn,{memo:function(n){var t=i.cache(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=V().current();var o=(r=r.reverse())[0],s=r[1],a=r[2];return u=[f(),e,u].concat(o),r=t.get(u),i.isNull(r)?t(u,(function(){return n(e,a,s)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,a,s)}))):Dn(r[1])}}(Wn)});function wn(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return r.enforce}}),exports.VERSION="4.6.1",exports.context=a,exports.create=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=(t=t.reverse())[0];t=t[1],i.invariant(i.isFunction(r),"vest.create: Expected callback to be a function.");var u=yn(),o=L();return t={stateRef:U(o,{suiteId:i.seq(),suiteName:t}),bus:u},i.assign(a.bind(t,(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.reset(),w({type:n.SUITE},(function(){r.apply(void 0,t)})),u.emit(En.SUITE_CALLBACK_DONE_RUNNING),pn()})),{get:a.bind(t,cn),remove:a.bind(t,(function(n){u.emit(En.REMOVE_FIELD,n)})),reset:o.reset,resetField:a.bind(t,(function(n){u.emit(En.RESET_FIELD,n)}))})},exports.each=function(t,e){i.invariant(i.isFunction(e),"each callback must be a function"),w({type:n.EACH},(function(){t.forEach((function(n,t){e(n,t)}))}))},exports.eager=function(){!function(n){a.useX().mode[0]=n}(e.EAGER)},exports.group=function(t,e){i.invariant(i.isStringValue(t),In("name must be a string")),i.invariant(i.isFunction(e),In("callback must be a function")),w({type:n.GROUP},(function(){a.run({groupName:t},e)}))},exports.include=function(n){var t=a.useX(),e=t.inclusion;return t=t.exclusion,i.invariant(i.isStringValue(n)),e[n]=i.defaultTo(t.tests[n],!0),{when:function(t){var e=a.useX(),r=e.exclusion;e.inclusion[n]=function(){return i.hasOwnProperty(r.tests,n)?i.defaultTo(r.tests[n],!0):i.isStringValue(t)?!!r.tests[t]:i.optionalFunctionValue(t,i.optionalFunctionValue(cn))}}}},exports.omitWhen=function(t,e){w({type:n.OMIT_WHEN},(function(){a.run({omitted:On()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.only=Rn,exports.optional=function(n){if(i.isArray(n)||i.isStringValue(n))i.asArray(n).forEach((function(n){d(n,(function(){return{type:H.Delayed,applied:!1,rule:null}}))}));else{var t,e=function(t){var e=n[t];d(t,(function(){return{type:H.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(t in n)e(t)}},exports.skip=Sn,exports.skipWhen=function(t,e){w({type:n.SKIP_WHEN},(function(){a.run({skipped:mn()||i.optionalFunctionValue(t,i.optionalFunctionValue(cn))},(function(){return e()}))}))},exports.suiteSelectors=tn,exports.test=Vn,exports.warn=function(){var n=a.useX("warn hook called outside of a running suite.");i.invariant(n.currentTest,"warn called outside of a test."),n.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,n,e,r=require("n4s"),i=require("vest-utils"),u=require("context"),o=require("vast");function s(){var t=0;return{current:function(){return t},next:function(){t++}}}function a(t,n){return void 0===n&&(n=[]),{cursor:s(),keys:{current:{},prev:{}},path:n,type:t}}(n=t||(t={}))[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",function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(e||(e={}));var c=u.createCascade((function(n,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:a(t.DEFAULT),mode:[e.ALL]},n)}));function f(){return c.useX().stateRef}function l(){return f().suiteId()[0]}function p(){return f().testCallbacks()}function d(){return f().optionalFields()}function v(t,n){(0,d()[1])((function(e){var r;return i.assign(e,((r={})[t]=i.assign({},e[t],n(e[t])),r))}))}function E(t){var n;return null!==(n=d()[0][t])&&void 0!==n?n:{}}function h(){return f().testObjects()}function g(){N((function(t){return t}))}function N(t){(0,h()[1])((function(n){return{prev:n.prev,current:i.asArray(t(n.current))}}))}function y(){return S().filter((function(t){return t.isPending()}))}var m,R=i.cache();function S(){var t=h()[0].current;return R([t],(function(){return i.nestedArray.flatten(t)}))}function T(t){S().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(m||(m={}));var C,A,_=function(){function t(t,n,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=i.seq(),this.severity=m.Error,this.status=I,this.fieldName=t,this.testFn=n,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){(function(t,n){return i.isUndefined(t)&&i.isStringValue(n)})(this.message,n)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==L||(this.status=t)},t.prototype.warns=function(){return this.severity===m.Warning},t.prototype.setPending=function(){this.setStatus(P)},t.prototype.fail=function(){this.setStatus(this.warns()?b:F)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(k)},t.prototype.warn=function(){this.severity=m.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(O)},t.prototype.cancel=function(){this.setStatus(x),g()},t.prototype.reset=function(){this.status=I,g()},t.prototype.omit=function(){this.setStatus(L)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(P)},t.prototype.isOmitted=function(){return this.statusEquals(L)},t.prototype.isUntested=function(){return this.statusEquals(I)},t.prototype.isFailing=function(){return this.statusEquals(F)},t.prototype.isCanceled=function(){return this.statusEquals(x)},t.prototype.isSkipped=function(){return this.statusEquals(O)},t.prototype.isPassing=function(){return this.statusEquals(k)},t.prototype.isWarning=function(){return this.statusEquals(b)},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},t.prototype.statusEquals=function(t){return this.status===t},t}(),I="UNTESTED",O="SKIPPED",F="FAILED",b="WARNING",k="PASSING",P="PENDING",x="CANCELED",L="OMITTED";function U(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(){return c.useX().isolate}function W(){var t=D();return t.path.concat(t.cursor.current())}function w(){return D().cursor}function G(n,e){n=void 0===(n=n.type)?t.DEFAULT:n,i.invariant(i.isFunction(e));var r=a(n,W());return n=c.run({isolate:r},(function(){return r.keys.prev=function(){var t=h()[0].prev;return i.asArray(i.nestedArray.getCurrent(t,W())).reduce((function(t,n){return n instanceof _&&!i.isNullish(n.key)?(t[n.key]=n,t):t}),{})}(),N((function(t){return i.nestedArray.setValueAtPath(t,r.path,[])})),e()})),w().next(),n}function V(t){return t===C.ERRORS?A.ERROR_COUNT:A.WARN_COUNT}function q(t,n){return!!n&&!X(t,n)}function X(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(C||(C={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(A||(A={}));var H,K=i.bindNot((function(t,n){return t.groupName===n}));function M(t){return function(t,n){return S().some((function(e){return B(e,t,n)}))}(C.ERRORS,t)}function B(t,n,e){return!(!t.hasFailures()||q(t,e)||function(t,n){return i.either(t===C.WARNINGS,n.warns())}(n,t))}function j(t){return!!t&&E(t).applied}function Y(t){if(j(t))return!0;var n=S();return!(i.isEmpty(n)||M(t)||function(t){return i.isNotEmpty(y().filter((function(n){return z(n,t)})))}(t))&&function(t){return S().every((function(n){return Q(n,t)}))}(t)}function J(t,n){return!!j(n)||!function(t,n,e){return S().some((function(r){return!K(r,n)&&B(r,t,e)}))}(C.ERRORS,t,n)&&!function(t,n){return i.isNotEmpty(y().filter((function(e){return!K(e,t)&&z(e,n)})))}(t,n)&&function(t,n){return S().every((function(e){return!!K(e,t)||Q(e,n)}))}(t,n)}function z(t,n){return!q(t,n)&&j(n)}function Q(t,n){return!!q(t,n)||(function(t){return E(t.fieldName).type===H.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function Z(){var t=S(),n=i.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=$(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&Y(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;e&&(t[e]=t[e]||{},t[e][n.fieldName]=$(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&J(e,n.fieldName))}(t.groups,n),t}),n),n.valid=Y(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}function $(t,n){function e(t){var n=V(t);o[n]++,u&&(o[t]=(o[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var o=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(C.ERRORS):n.isWarning()&&e(C.WARNINGS)),o}function tt(t,n,e){return e?function(t,n,e){var r;return(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}(t,n,e):function(t,n){var e,r={},u=V(n);for(e in t)i.isPositive(t[e][u])&&(r[e]=t[e][n]||[]);return r}(t,n)}function nt(t){return{getErrors:function(n){return et(t,C.ERRORS,n)},getErrorsByGroup:function(n,e){return rt(t,C.ERRORS,n,e)},getWarnings:function(n){return et(t,C.WARNINGS,n)},getWarningsByGroup:function(n,e){return rt(t,C.WARNINGS,n,e)},hasErrors:function(n){return ot(t,A.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return ut(t,A.ERROR_COUNT,n,e)},hasWarnings:function(n){return ot(t,A.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return ut(t,A.WARN_COUNT,n,e)},isValid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},isValidByGroup:function(n,e){if(!(n=t.groups[n]))return!1;if(e)return it(n,e);for(var r in n)if(!it(n,r))return!1;return!0}}}function et(t,n,e){return tt(t.tests,n,e)}function rt(t,n,e,r){return tt(t.groups[e],n,r)}function it(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}function ut(t,n,e,r){var u,o;if(!(t=t.groups[e]))return!1;if(r)return i.isPositive(null===(u=t[r])||void 0===u?void 0:u[n]);for(var s in t)if(i.isPositive(null===(o=t[s])||void 0===o?void 0:o[n]))return!0;return!1}function ot(t,n,e){var r;return t=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0,i.isPositive(t)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(H||(H={}));var st=i.cache(1);function at(){var t=S(),n={stateRef:f()};return st([t],c.bind(n,(function(){var t=Z(),n=f().suiteName()[0];return i.assign(t,nt(t),{suiteName:n})})))}function ct(t){var n=y();return!i.isEmpty(n)&&(!t||n.some((function(n){return X(n,t)})))}var ft=i.cache(20);function lt(){var t=S(),n={stateRef:f()};return ft([t],c.bind(n,(function(){return i.assign({},at(),{done:c.bind(n,Et)})})))}function pt(t,n,e){var r;return!!(!i.isFunction(t)||n&&i.numberEquals(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function dt(t){return!(ct()&&(!t||ct(t)))}var vt,Et=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];if(t=t[1],n=lt(),pt(e,t,n))return n;var r=function(){return e(at())};return dt(t)?(r(),n):(ht(r,t),n)};function ht(t,n){(0,p()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function gt(){var t=i.bus.createBus();return t.on(vt.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(t){var n=p()[0].fieldCallbacks;t&&!ct(t)&&i.isArray(n[t])&&i.callEach(n[t])}(n.fieldName),ct()||t.emit(vt.ALL_RUNNING_TESTS_FINISHED))})),t.on(vt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){e[t.fieldName]&&(t.omit(),v(t.fieldName,(function(){return{applied:!0}})))}var n=d()[0];if(!i.isEmpty(n)){var e={};S().forEach((function(n){if(i.hasOwnProperty(e,n.fieldName))t(n);else{var r=E(n.fieldName);r.type===H.Immediate&&(e[n.fieldName]=i.optionalFunctionValue(r.rule),t(n))}})),g()}}()})),t.on(vt.ALL_RUNNING_TESTS_FINISHED,(function(){!function(){var t=p()[0].doneCallbacks;i.callEach(t)}()})),t.on(vt.REMOVE_FIELD,(function(t){T((function(n){X(n,t)&&(n.cancel(),function(t){N((function(n){return i.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(vt.RESET_FIELD,(function(t){T((function(n){X(n,t)&&n.reset()}))})),t}function Nt(){var t=c.useX();return i.invariant(t.bus),t.bus}!function(t){t.TEST_COMPLETED="test_completed",t.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",t.REMOVE_FIELD="remove_field",t.RESET_FIELD="reset_field",t.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running"}(vt||(vt={}));function yt(){return!!c.useX().skipped}function mt(t){return Tt(0,"tests",t)}function Rt(t){return Tt(1,"tests",t)}function St(t){var n=t.fieldName;if(t=t.groupName,yt())return!0;var e=c.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,o=u[n];if(!1===o)return!0;if(o=!0===o,t){if(function(t){var n=c.useX().exclusion.groups;return i.hasOwnProperty(n,t)?!1===n[t]:At()}(t))return!0;if(!0===r.groups[t])return!o&&(!!Ct(u)||!1===u[n])}return!!function(t){return!!At()&&!t}(t)||!o&&(!!Ct(u)&&!i.optionalFunctionValue(e[n]))}function Tt(t,n,e){var r=c.useX("hook called outside of a running suite.");e&&i.asArray(e).forEach((function(e){i.isStringValue(e)&&(r.exclusion[n][e]=0===t)}))}function Ct(t){for(var n in t)if(!0===t[n])return!0;return!1}function At(){var t,n=c.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function _t(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function It(t){return function(t){return c.useX().mode[0]===t}(e.EAGER)&&M(t.fieldName)}function Ot(){return!!c.useX().omitted}function Ft(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function bt(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function kt(t){var n=t.asyncTest,e=t.message;if(i.isPromise(n)){var r=Nt().emit,u=f(),o=c.bind({stateRef:u},(function(){g(),r(vt.TEST_COMPLETED,t)}));u=c.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=i.isStringValue(n)?n:e,t.fail(),o())})),n.then(o,u)}}function Pt(t){var n=Nt(),e=function(t){return c.run({currentTest:t},(function(){return t.run()}))}(t);try{i.isPromise(e)?(t.asyncTest=e,t.setPending(),kt(t)):n.emit(vt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}function xt(n){var e=h()[0].prev;return i.isEmpty(e)?(Lt(n),n):(e=function(t){var n=W();return i.nestedArray.valueAtPath(t,n)}(e),i.isNullish(n.key)?(function(t,n){return i.isNotEmpty(t)&&!bt(t,n)}(e,n)&&(function(n,e){D().type===t.EACH||i.deferThrow("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 t=w().current();N((function(n){return n.splice(t),n}))}(),e=null),Lt(n=i.defaultTo(e,n)),n):(n=function(t,n){var e=function(t){return D().keys.prev[t]}(t);return e&&(n=e),function(t,n){var e=D().keys.current;i.isNullish(e[t])?e[t]=n:i.deferThrow('Encountered the same test key "'.concat(t,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(t,n),n}(n.key,n),Lt(n),n))}function Lt(t){var n=W();N((function(e){return i.nestedArray.setValueAtPath(e,n,t)}))}function Ut(t){var n=w();if(It(t))return t.skip(),xt(t),n.next(),t;var e=xt(t);return Ot()||j(t.fieldName)?(e.omit(),n.next(),e):St(t)?(e.skip(yt()),n.next(),e):(function(t,n){n!==t&&bt(t,n)&&t.isPending()&&t.cancel()}(e,t),Lt(t),function(t){t.isUntested()?Pt(t):i.isPromise(t.asyncTest)&&(t.setPending(),kt(t))}(t),n.next(),t)}function Dt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=i.isFunction(n[1])?n:Ft([void 0],n,!0);n=r[0],e=r[1],r=r[2],i.invariant(i.isStringValue(t),wt("fieldName","string")),i.invariant(i.isFunction(e),wt("Test callback","function"));var u=c.useX();return Ut(n=new _(t,e,{message:n,groupName:u.groupName,key:r}))}mt.group=function(t){return Tt(0,"groups",t)},Rt.group=function(t){return Tt(1,"groups",t)};var Wt=i.assign(Dt,{memo:function(t){var n=i.cache(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=w().current();var o=(r=r.reverse())[0],s=r[1],a=r[2];return u=[l(),e,u].concat(o),r=n.get(u),i.isNull(r)?n(u,(function(){return t(e,a,s)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,a,s)}))):Ut(r[1])}}(Dt)});function wt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return r.enforce}}),exports.VERSION="4.6.2-dev-fcaa09",exports.context=c,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],i.invariant(i.isFunction(r),"vest.create: Expected callback to be a function.");var u=gt(),s=o.createState();return n={stateRef:U(s,{suiteId:i.seq(),suiteName:n}),bus:u},i.assign(c.bind(n,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return s.reset(),G({type:t.SUITE},(function(){r.apply(void 0,n)})),u.emit(vt.SUITE_CALLBACK_DONE_RUNNING),lt()})),{get:c.bind(n,at),remove:c.bind(n,(function(t){u.emit(vt.REMOVE_FIELD,t)})),reset:s.reset,resetField:c.bind(n,(function(t){u.emit(vt.RESET_FIELD,t)}))})},exports.each=function(n,e){i.invariant(i.isFunction(e),"each callback must be a function"),G({type:t.EACH},(function(){n.forEach((function(t,n){e(t,n)}))}))},exports.eager=function(){!function(t){c.useX().mode[0]=t}(e.EAGER)},exports.group=function(n,e){i.invariant(i.isStringValue(n),_t("name must be a string")),i.invariant(i.isFunction(e),_t("callback must be a function")),G({type:t.GROUP},(function(){c.run({groupName:n},e)}))},exports.include=function(t){var n=c.useX(),e=n.inclusion;return n=n.exclusion,i.invariant(i.isStringValue(t)),e[t]=i.defaultTo(n.tests[t],!0),{when:function(n){var e=c.useX(),r=e.exclusion;e.inclusion[t]=function(){return i.hasOwnProperty(r.tests,t)?i.defaultTo(r.tests[t],!0):i.isStringValue(n)?!!r.tests[n]:i.optionalFunctionValue(n,i.optionalFunctionValue(at))}}}},exports.omitWhen=function(n,e){G({type:t.OMIT_WHEN},(function(){c.run({omitted:Ot()||i.optionalFunctionValue(n,i.optionalFunctionValue(at))},(function(){return e()}))}))},exports.only=mt,exports.optional=function(t){if(i.isArray(t)||i.isStringValue(t))i.asArray(t).forEach((function(t){v(t,(function(){return{type:H.Delayed,applied:!1,rule:null}}))}));else{var n,e=function(n){var e=t[n];v(n,(function(){return{type:H.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(n in t)e(n)}},exports.skip=Rt,exports.skipWhen=function(n,e){G({type:t.SKIP_WHEN},(function(){c.run({skipped:yt()||i.optionalFunctionValue(n,i.optionalFunctionValue(at))},(function(){return e()}))}))},exports.suiteSelectors=nt,exports.test=Wt,exports.warn=function(){var t=c.useX("warn hook called outside of a running suite.");i.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'n4s/compounds';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"n4s/compounds";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'n4s/schema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"n4s/schema";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { enforce } from 'n4s';
|
|
2
|
-
import { isUndefined, isStringValue, assign, cache as cache$2, nestedArray, asArray, seq,
|
|
2
|
+
import { isUndefined, isStringValue, assign, cache as cache$2, nestedArray, asArray, seq, isNullish, deferThrow, invariant, isFunction, bindNot, either, isArray, optionalFunctionValue, isEmpty, isNotEmpty, isPositive, numberEquals, hasOwnProperty, callEach, bus, defaultTo, isPromise, isNull } from 'vest-utils';
|
|
3
3
|
import { createCascade } from 'context';
|
|
4
|
+
import { createState } from 'vast';
|
|
4
5
|
|
|
5
6
|
function shouldUseErrorAsMessage(message, error) {
|
|
6
7
|
// kind of cheating with this safe guard, but it does the job
|
|
@@ -285,70 +286,6 @@ var STATUS_PENDING = 'PENDING';
|
|
|
285
286
|
var STATUS_CANCELED = 'CANCELED';
|
|
286
287
|
var STATUS_OMITTED = 'OMITTED';
|
|
287
288
|
|
|
288
|
-
// eslint-disable-next-line max-lines-per-function
|
|
289
|
-
function createState(onStateChange) {
|
|
290
|
-
var state = {
|
|
291
|
-
references: []
|
|
292
|
-
};
|
|
293
|
-
var registrations = [];
|
|
294
|
-
return {
|
|
295
|
-
registerStateKey: registerStateKey,
|
|
296
|
-
reset: reset
|
|
297
|
-
};
|
|
298
|
-
/**
|
|
299
|
-
* Registers a new key in the state, takes the initial value (may be a function that returns the initial value), returns a function.
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
*
|
|
303
|
-
* const useColor = state.registerStateKey("blue");
|
|
304
|
-
*
|
|
305
|
-
* let [color, setColor] = useColor(); // -> ["blue", Function]
|
|
306
|
-
*
|
|
307
|
-
* setColor("green");
|
|
308
|
-
*
|
|
309
|
-
* useColor()[0]; -> "green"
|
|
310
|
-
*/
|
|
311
|
-
function registerStateKey(initialState, onUpdate) {
|
|
312
|
-
var key = registrations.length;
|
|
313
|
-
registrations.push([initialState, onUpdate]);
|
|
314
|
-
return initKey(key, initialState);
|
|
315
|
-
}
|
|
316
|
-
function reset() {
|
|
317
|
-
var prev = current();
|
|
318
|
-
state.references = [];
|
|
319
|
-
registrations.forEach(function (_a, index) {
|
|
320
|
-
var initialValue = _a[0];
|
|
321
|
-
return initKey(index, initialValue, prev[index]);
|
|
322
|
-
});
|
|
323
|
-
}
|
|
324
|
-
function initKey(key, initialState, prevState) {
|
|
325
|
-
current().push();
|
|
326
|
-
set(key, optionalFunctionValue(initialState, prevState));
|
|
327
|
-
return function useStateKey() {
|
|
328
|
-
return [
|
|
329
|
-
current()[key],
|
|
330
|
-
function (nextState) {
|
|
331
|
-
return set(key, optionalFunctionValue(nextState, current()[key]));
|
|
332
|
-
},
|
|
333
|
-
];
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
function current() {
|
|
337
|
-
return state.references;
|
|
338
|
-
}
|
|
339
|
-
function set(index, value) {
|
|
340
|
-
var prevValue = state.references[index];
|
|
341
|
-
state.references[index] = value;
|
|
342
|
-
var _a = registrations[index], onUpdate = _a[1];
|
|
343
|
-
if (isFunction(onUpdate)) {
|
|
344
|
-
onUpdate(value, prevValue);
|
|
345
|
-
}
|
|
346
|
-
if (isFunction(onStateChange)) {
|
|
347
|
-
onStateChange();
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
|
|
352
289
|
function createStateRef(state, _a) {
|
|
353
290
|
var suiteId = _a.suiteId, suiteName = _a.suiteName;
|
|
354
291
|
return {
|
|
@@ -1503,14 +1440,7 @@ function runAsyncTest(testObject) {
|
|
|
1503
1440
|
testObject.fail();
|
|
1504
1441
|
done();
|
|
1505
1442
|
});
|
|
1506
|
-
|
|
1507
|
-
asyncTest.then(done, fail);
|
|
1508
|
-
}
|
|
1509
|
-
catch (e) {
|
|
1510
|
-
// We will probably never get here, unless the consumer uses a buggy custom Promise
|
|
1511
|
-
// implementation that behaves differently than the native one, or if they for some
|
|
1512
|
-
fail();
|
|
1513
|
-
}
|
|
1443
|
+
asyncTest.then(done, fail);
|
|
1514
1444
|
}
|
|
1515
1445
|
|
|
1516
1446
|
/**
|
|
@@ -1729,6 +1659,6 @@ function warn() {
|
|
|
1729
1659
|
ctx.currentTest.warn();
|
|
1730
1660
|
}
|
|
1731
1661
|
|
|
1732
|
-
var VERSION = "4.6.
|
|
1662
|
+
var VERSION = "4.6.2-dev-fcaa09";
|
|
1733
1663
|
|
|
1734
1664
|
export { VERSION, context, create, each, eager, group, include, omitWhen, only, optional, skip, skipWhen, suiteSelectors, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createCascade as t}from"context";import{isUndefined as n,isStringValue as e,assign as r,cache as i,nestedArray as u,asArray as s,seq as o,optionalFunctionValue as a,isFunction as c,isNullish as f,deferThrow as l,invariant as d,bindNot as p,either as v,isArray as E,isEmpty as N,isNotEmpty as h,isPositive as m,numberEquals as g,hasOwnProperty as y,callEach as R,bus as S,defaultTo as C,isPromise as T,isNull as _}from"vest-utils";export{enforce}from"n4s";var O,I=O||(O={});I[I.DEFAULT=0]="DEFAULT",I[I.SUITE=1]="SUITE",I[I.EACH=2]="EACH",I[I.SKIP_WHEN=3]="SKIP_WHEN",I[I.OMIT_WHEN=4]="OMIT_WHEN",I[I.GROUP=5]="GROUP";var A,k=A||(A={});function b(){var t=0;return{current:function(){return t},next:function(){t++}}}function U(t,n){return void 0===n&&(n=[]),{cursor:b(),keys:{current:{},prev:{}},path:n,type:t}}k[k.ALL=0]="ALL",k[k.EAGER=1]="EAGER";var L=t((function(t,n){return n?null:r({exclusion:{tests:{},groups:{}},inclusion:{},isolate:U(O.DEFAULT),mode:[A.ALL]},t)}));function F(){return L.useX().stateRef}function D(t,n){(0,F().optionalFields()[1])((function(e){var i;return r(e,((i={})[t]=r({},e[t],n(e[t])),i))}))}function W(t){var n;return null!==(n=F().optionalFields()[0][t])&&void 0!==n?n:{}}function P(){G((function(t){return t}))}function G(t){(0,F().testObjects()[1])((function(n){return{prev:n.prev,current:s(t(n.current))}}))}function w(){return X().filter((function(t){return t.isPending()}))}var x=i();function X(){var t=F().testObjects()[0].current;return x([t],(function(){return u.flatten(t)}))}var H,K=H||(H={});K.Error="error",K.Warning="warning";var M=function(){function t(t,n,e){var r=void 0===e?{}:e;e=r.message;var i=r.groupName;r=r.key,this.key=null,this.id=o(),this.severity=H.Error,this.status=q,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),r&&(this.key=r)}return t.prototype.run=function(){try{var t=this.testFn()}catch(r){t=r,n(this.message)&&e(t)&&(this.message=r),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==Q||(this.status=t)},t.prototype.warns=function(){return this.severity===H.Warning},t.prototype.setPending=function(){this.setStatus(J)},t.prototype.fail=function(){this.setStatus(this.warns()?j:V)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(Y)},t.prototype.warn=function(){this.severity=H.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(B)},t.prototype.cancel=function(){this.setStatus(z),P()},t.prototype.reset=function(){this.status=q,P()},t.prototype.omit=function(){this.setStatus(Q)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(J)},t.prototype.isOmitted=function(){return this.statusEquals(Q)},t.prototype.isUntested=function(){return this.statusEquals(q)},t.prototype.isFailing=function(){return this.statusEquals(V)},t.prototype.isCanceled=function(){return this.statusEquals(z)},t.prototype.isSkipped=function(){return this.statusEquals(B)},t.prototype.isPassing=function(){return this.statusEquals(Y)},t.prototype.isWarning=function(){return this.statusEquals(j)},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},t.prototype.statusEquals=function(t){return this.status===t},t}(),q="UNTESTED",B="SKIPPED",V="FAILED",j="WARNING",Y="PASSING",J="PENDING",z="CANCELED",Q="OMITTED";function Z(t){function n(t,n,i){return r.references.push(),e(t,a(n,i)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var u=r.references[n];r.references[n]=e,n=i[n][1],c(n)&&n(e,u),c(t)&&t()}var r={references:[]},i=[];return{registerStateKey:function(t,e){var r=i.length;return i.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],i.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function $(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function tt(){return L.useX().isolate}function nt(){var t=tt();return t.path.concat(t.cursor.current())}function et(t,n){t=void 0===(t=t.type)?O.DEFAULT:t,d(c(n));var e=U(t,nt());return t=L.run({isolate:e},(function(){return e.keys.prev=function(){var t=F().testObjects()[0].prev;return s(u.getCurrent(t,nt())).reduce((function(t,n){return n instanceof M&&!f(n.key)?(t[n.key]=n,t):t}),{})}(),G((function(t){return u.setValueAtPath(t,e.path,[])})),n()})),tt().cursor.next(),t}var rt,it=rt||(rt={});it.WARNINGS="warnings",it.ERRORS="errors";var ut,st=ut||(ut={});function ot(t,n){return!(!n||t.fieldName!==n)}st.ERROR_COUNT="errorCount",st.WARN_COUNT="warnCount";var at=p((function(t,n){return t.groupName===n}));function ct(t,n){return X().some((function(e){return ft(e,t,n)}))}function ft(t,n,e){return!(!t.hasFailures()||e&&!ot(t,e)||v(n===rt.WARNINGS,t.warns()))}function lt(t){return!!t&&W(t).applied}var dt,pt=dt||(dt={});function vt(t){if(lt(t))return!0;var n=X();return!(N(n)||ct(rt.ERRORS,t)||function(t){return h(w().filter((function(n){return Et(n,t)})))}(t))&&function(t){return X().every((function(n){return Nt(n,t)}))}(t)}function Et(t,n){return!(n&&!ot(t,n))&<(n)}function Nt(t,n){return!(!n||ot(t,n))||(W(t.fieldName).type===dt.Delayed&&t.awaitsResolution()||t.isTested()||t.isOmitted())}function ht(){var t=X(),n=r({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=mt(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&vt(n.fieldName);var r=t.groups,i=n.groupName;return i&&(r[i]=r[i]||{},r[i][n.fieldName]=mt(r[i],n),e=r[i][n.fieldName],!1===r[i][n.fieldName].valid?n=!1:n=!!lt(n=n.fieldName)||!function(t,n,e){return X().some((function(r){return!at(r,n)&&ft(r,t,e)}))}(rt.ERRORS,i,n)&&!function(t,n){return h(w().filter((function(e){return!at(e,t)&&Et(e,n)})))}(i,n)&&function(t,n){return X().every((function(e){return!!at(e,t)||Nt(e,n)}))}(i,n),e.valid=n),t}),n),n.valid=vt(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}function mt(t,n){function e(t){s[t===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT]++,u&&(s[t]=(s[t]||[]).concat(u))}var i=n.fieldName,u=n.message;t[i]=t[i]||r({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var s=t[i];return n.isNonActionable()||(t[i].testCount++,n.isFailing()?e(rt.ERRORS):n.isWarning()&&e(rt.WARNINGS)),s}function gt(t,n,e){if(e){var r;t=(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}else{for(var i in r={},e=n===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT,t)m(t[i][e])&&(r[i]=t[i][n]||[]);t=r}return t}function yt(t){return{getErrors:function(n){return gt(t.tests,rt.ERRORS,n)},getErrorsByGroup:function(n,e){return gt(t.groups[n],rt.ERRORS,e)},getWarnings:function(n){return gt(t.tests,rt.WARNINGS,n)},getWarningsByGroup:function(n,e){return gt(t.groups[n],rt.WARNINGS,e)},hasErrors:function(n){return Ct(t,ut.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return St(t,ut.ERROR_COUNT,n,e)},hasWarnings:function(n){return Ct(t,ut.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return St(t,ut.WARN_COUNT,n,e)},isValid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},isValidByGroup:function(n,e){if(!(n=t.groups[n]))return!1;if(e)return Rt(n,e);for(var r in n)if(!Rt(n,r))return!1;return!0}}}function Rt(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}function St(t,n,e,r){var i,u;if(!(t=t.groups[e]))return!1;if(r)return m(null===(i=t[r])||void 0===i?void 0:i[n]);for(var s in t)if(m(null===(u=t[s])||void 0===u?void 0:u[n]))return!0;return!1}function Ct(t,n,e){var r;return t=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0,m(t)}pt[pt.Immediate=0]="Immediate",pt[pt.Delayed=1]="Delayed";var Tt=i(1);function _t(){var t=X(),n={stateRef:F()};return Tt([t],L.bind(n,(function(){var t=ht(),n=F().suiteName()[0];return r(t,yt(t),{suiteName:n})})))}function Ot(t){var n=w();return!N(n)&&(!t||n.some((function(n){return ot(n,t)})))}var It=i(20);function At(){var t=X(),n={stateRef:F()};return It([t],L.bind(n,(function(){return r({},_t(),{done:L.bind(n,Ut)})})))}function kt(t,n,e){var r;return!!(!c(t)||n&&g(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function bt(t){return!(Ot()&&(!t||Ot(t)))}function Ut(){function t(){return r(_t())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=At(),kt(r,n,e)?e:bt(n)?(t(),e):(Lt(t,n),e)}function Lt(t,n){(0,F().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Ft(){var t=S.createBus();return t.on(Wt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=F().testCallbacks()[0].fieldCallbacks;n&&!Ot(n)&&E(e[n])&&R(e[n]),Ot()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){e[t.fieldName]&&(t.omit(),D(t.fieldName,(function(){return{applied:!0}})))}var n=F().optionalFields()[0];if(!N(n)){var e={};X().forEach((function(n){if(y(e,n.fieldName))t(n);else{var r=W(n.fieldName);r.type===dt.Immediate&&(e[n.fieldName]=a(r.rule),t(n))}})),P()}}()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){var t=F().testCallbacks()[0].doneCallbacks;R(t)})),t.on(Wt.REMOVE_FIELD,(function(t){X().forEach((function(n){ot(n,t)&&(n.cancel(),function(t){G((function(n){return u.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){X().forEach((function(n){ot(n,t)&&n.reset()}))})),t}function Dt(){var t=L.useX();return d(t.bus),t.bus}var Wt,Pt=Wt||(Wt={});function Gt(t){return xt(0,"tests",t)}function wt(t){return xt(1,"tests",t)}function xt(t,n,r){var i=L.useX("hook called outside of a running suite.");r&&s(r).forEach((function(r){e(r)&&(i.exclusion[n][r]=0===t)}))}function Xt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ht(){var t,n=L.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Kt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Mt(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function qt(t){var n=t.asyncTest,r=t.message;if(T(n)){var i=Dt().emit,u=F(),s=L.bind({stateRef:u},(function(){P(),i(Wt.TEST_COMPLETED,t)}));u=L.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=e(n)?n:r,t.fail(),s())}));try{n.then(s,u)}catch(t){u()}}}function Bt(t){var n=F().testObjects()[0].prev;if(N(n))return Vt(t),t;var e=nt();if(n=u.valueAtPath(n,e),!f(t.key)){n=t.key,(e=tt().keys.prev[n])&&(t=e),e=t;var r=tt().keys.current;return f(r[n])?r[n]=e:l('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Vt(t),t}return!h(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(tt().type===O.EACH||l("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=tt().cursor.current();G((function(n){return n.splice(t),n}))}(),n=null),Vt(t=C(n,t)),t}function Vt(t){var n=nt();G((function(e){return u.setValueAtPath(e,n,t)}))}function jt(t){var n=tt().cursor,e=A.EAGER;if(L.useX().mode[0]===e&&ct(rt.ERRORS,t.fieldName))return t.skip(),Bt(t),n.next(),t;if(e=Bt(t),L.useX().omitted||lt(t.fieldName))return e.omit(),n.next(),e;if(function(t){var n=t.fieldName;if(t=t.groupName,L.useX().skipped)return!0;var e=L.useX(),r=e.exclusion;e=e.inclusion;var i=r.tests,u=i[n];if(!1===u)return!0;if(u=!0===u,t){var s=L.useX().exclusion.groups;if(s=y(s,t)?!1===s[t]:Ht())return!0;if(!0===r.groups[t])return!(u||!Xt(i)&&!1!==i[n])}return!!(t=!!Ht()&&!t)||!u&&!!Xt(i)&&!a(e[n])}(t))return e.skip(!!L.useX().skipped),n.next(),e;if(t!==e&&e.fieldName===t.fieldName&&e.groupName===t.groupName&&e.isPending()&&e.cancel(),Vt(t),t.isUntested()){e=Dt();var r=function(t){return L.run({currentTest:t},(function(){return t.run()}))}(t);try{T(r)?(t.asyncTest=r,t.setPending(),qt(t)):e.emit(Wt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else T(t.asyncTest)&&(t.setPending(),qt(t));return n.next(),t}function Yt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=c(n[1])?n:Mt([void 0],n,!0);n=i[0],r=i[1],i=i[2],d(e(t),Zt("fieldName","string")),d(c(r),Zt("Test callback","function"));var u=L.useX();return jt(n=new M(t,r,{message:n,groupName:u.groupName,key:i}))}Pt.TEST_COMPLETED="test_completed",Pt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Pt.REMOVE_FIELD="remove_field",Pt.RESET_FIELD="reset_field",Pt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Gt.group=function(t){return xt(0,"groups",t)},wt.group=function(t){return xt(1,"groups",t)};var Jt,zt,Qt=r(Yt,{memo:(Jt=Yt,zt=i(10),function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];e=tt().cursor.current();var r=(n=n.reverse())[0],i=n[1],u=n[2];return e=[F().suiteId()[0],t,e].concat(r),n=zt.get(e),_(n)?zt(e,(function(){return Jt(t,u,i)})):n[1].isCanceled()?(zt.invalidate(e),zt(e,(function(){return Jt(t,u,i)}))):jt(n[1])})});function Zt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var $t="4.6.1";function tn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=(t=t.reverse())[0];t=t[1],d(c(e),"vest.create: Expected callback to be a function.");var i=Ft(),u=Z();return t={stateRef:$(u,{suiteId:o(),suiteName:t}),bus:i},r(L.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return u.reset(),et({type:O.SUITE},(function(){e.apply(void 0,t)})),i.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),At()})),{get:L.bind(t,_t),remove:L.bind(t,(function(t){i.emit(Wt.REMOVE_FIELD,t)})),reset:u.reset,resetField:L.bind(t,(function(t){i.emit(Wt.RESET_FIELD,t)}))})}function nn(t,n){d(c(n),"each callback must be a function"),et({type:O.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function en(){var t=A.EAGER;L.useX().mode[0]=t}function rn(t,n){d(e(t),Kt("name must be a string")),d(c(n),Kt("callback must be a function")),et({type:O.GROUP},(function(){L.run({groupName:t},n)}))}function un(t){var n=L.useX(),r=n.inclusion;return n=n.exclusion,d(e(t)),r[t]=C(n.tests[t],!0),{when:function(n){var r=L.useX(),i=r.exclusion;r.inclusion[t]=function(){return y(i.tests,t)?C(i.tests[t],!0):e(n)?!!i.tests[n]:a(n,a(_t))}}}}function sn(t,n){et({type:O.OMIT_WHEN},(function(){L.run({omitted:!!L.useX().omitted||a(t,a(_t))},(function(){return n()}))}))}function on(t){if(E(t)||e(t))s(t).forEach((function(t){D(t,(function(){return{type:dt.Delayed,applied:!1,rule:null}}))}));else{var n,r=function(n){var e=t[n];D(n,(function(){return{type:dt.Immediate,rule:e,applied:a(e)}}))};for(n in t)r(n)}}function an(t,n){et({type:O.SKIP_WHEN},(function(){L.run({skipped:!!L.useX().skipped||a(t,a(_t))},(function(){return n()}))}))}function cn(){var t=L.useX("warn hook called outside of a running suite.");d(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{$t as VERSION,L as context,tn as create,nn as each,en as eager,rn as group,un as include,sn as omitWhen,Gt as only,on as optional,wt as skip,an as skipWhen,yt as suiteSelectors,Qt as test,cn as warn};
|
|
1
|
+
import{createState as t}from"vast";import{createCascade as n}from"context";import{isUndefined as e,isStringValue as r,assign as i,cache as u,nestedArray as s,asArray as o,seq as a,isNullish as c,deferThrow as f,invariant as l,isFunction as d,bindNot as p,either as v,isArray as E,optionalFunctionValue as N,isEmpty as m,isNotEmpty as h,isPositive as g,numberEquals as y,hasOwnProperty as R,callEach as S,bus as C,defaultTo as T,isPromise as _,isNull as O}from"vest-utils";export{enforce}from"n4s";var I,A=I||(I={});A[A.DEFAULT=0]="DEFAULT",A[A.SUITE=1]="SUITE",A[A.EACH=2]="EACH",A[A.SKIP_WHEN=3]="SKIP_WHEN",A[A.OMIT_WHEN=4]="OMIT_WHEN",A[A.GROUP=5]="GROUP";var k,b=k||(k={});function U(){var t=0;return{current:function(){return t},next:function(){t++}}}function L(t,n){return void 0===n&&(n=[]),{cursor:U(),keys:{current:{},prev:{}},path:n,type:t}}b[b.ALL=0]="ALL",b[b.EAGER=1]="EAGER";var F=n((function(t,n){return n?null:i({exclusion:{tests:{},groups:{}},inclusion:{},isolate:L(I.DEFAULT),mode:[k.ALL]},t)}));function D(){return F.useX().stateRef}function W(t,n){(0,D().optionalFields()[1])((function(e){var r;return i(e,((r={})[t]=i({},e[t],n(e[t])),r))}))}function P(t){var n;return null!==(n=D().optionalFields()[0][t])&&void 0!==n?n:{}}function G(){w((function(t){return t}))}function w(t){(0,D().testObjects()[1])((function(n){return{prev:n.prev,current:o(t(n.current))}}))}function x(){return H().filter((function(t){return t.isPending()}))}var X=u();function H(){var t=D().testObjects()[0].current;return X([t],(function(){return s.flatten(t)}))}var K,M=K||(K={});M.Error="error",M.Warning="warning";var q=function(){function t(t,n,e){var r=void 0===e?{}:e;e=r.message;var i=r.groupName;r=r.key,this.key=null,this.id=a(),this.severity=K.Error,this.status=B,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),e&&(this.message=e),r&&(this.key=r)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,e(this.message)&&r(t)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==Z||(this.status=t)},t.prototype.warns=function(){return this.severity===K.Warning},t.prototype.setPending=function(){this.setStatus(z)},t.prototype.fail=function(){this.setStatus(this.warns()?Y:j)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(J)},t.prototype.warn=function(){this.severity=K.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(V)},t.prototype.cancel=function(){this.setStatus(Q),G()},t.prototype.reset=function(){this.status=B,G()},t.prototype.omit=function(){this.setStatus(Z)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(z)},t.prototype.isOmitted=function(){return this.statusEquals(Z)},t.prototype.isUntested=function(){return this.statusEquals(B)},t.prototype.isFailing=function(){return this.statusEquals(j)},t.prototype.isCanceled=function(){return this.statusEquals(Q)},t.prototype.isSkipped=function(){return this.statusEquals(V)},t.prototype.isPassing=function(){return this.statusEquals(J)},t.prototype.isWarning=function(){return this.statusEquals(Y)},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.awaitsResolution=function(){return this.isSkipped()||this.isUntested()||this.isPending()},t.prototype.statusEquals=function(t){return this.status===t},t}(),B="UNTESTED",V="SKIPPED",j="FAILED",Y="WARNING",J="PASSING",z="PENDING",Q="CANCELED",Z="OMITTED";function $(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function tt(){return F.useX().isolate}function nt(){var t=tt();return t.path.concat(t.cursor.current())}function et(t,n){t=void 0===(t=t.type)?I.DEFAULT:t,l(d(n));var e=L(t,nt());return t=F.run({isolate:e},(function(){return e.keys.prev=function(){var t=D().testObjects()[0].prev;return o(s.getCurrent(t,nt())).reduce((function(t,n){return n instanceof q&&!c(n.key)?(t[n.key]=n,t):t}),{})}(),w((function(t){return s.setValueAtPath(t,e.path,[])})),n()})),tt().cursor.next(),t}var rt,it=rt||(rt={});it.WARNINGS="warnings",it.ERRORS="errors";var ut,st=ut||(ut={});function ot(t,n){return!(!n||t.fieldName!==n)}st.ERROR_COUNT="errorCount",st.WARN_COUNT="warnCount";var at=p((function(t,n){return t.groupName===n}));function ct(t,n){return H().some((function(e){return ft(e,t,n)}))}function ft(t,n,e){return!(!t.hasFailures()||e&&!ot(t,e)||v(n===rt.WARNINGS,t.warns()))}function lt(t){return!!t&&P(t).applied}var dt,pt=dt||(dt={});function vt(t){if(lt(t))return!0;var n=H();return!(m(n)||ct(rt.ERRORS,t)||function(t){return h(x().filter((function(n){return Et(n,t)})))}(t))&&function(t){return H().every((function(n){return Nt(n,t)}))}(t)}function Et(t,n){return!(n&&!ot(t,n))&<(n)}function Nt(t,n){return!(!n||ot(t,n))||(P(t.fieldName).type===dt.Delayed&&t.awaitsResolution()||t.isTested()||t.isOmitted())}function mt(){var t=H(),n=i({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){var e=t.tests;e[n.fieldName]=ht(e,n),e[n.fieldName].valid=!1!==e[n.fieldName].valid&&vt(n.fieldName);var r=t.groups,i=n.groupName;return i&&(r[i]=r[i]||{},r[i][n.fieldName]=ht(r[i],n),e=r[i][n.fieldName],!1===r[i][n.fieldName].valid?n=!1:n=!!lt(n=n.fieldName)||!function(t,n,e){return H().some((function(r){return!at(r,n)&&ft(r,t,e)}))}(rt.ERRORS,i,n)&&!function(t,n){return h(x().filter((function(e){return!at(e,t)&&Et(e,n)})))}(i,n)&&function(t,n){return H().every((function(e){return!!at(e,t)||Nt(e,n)}))}(i,n),e.valid=n),t}),n),n.valid=vt(),function(t){for(var n in t.tests)t.errorCount+=t.tests[n].errorCount,t.warnCount+=t.tests[n].warnCount,t.testCount+=t.tests[n].testCount;return t}(n)}function ht(t,n){function e(t){s[t===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT]++,u&&(s[t]=(s[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||i({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var s=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(rt.ERRORS):n.isWarning()&&e(rt.WARNINGS)),s}function gt(t,n,e){if(e){var r;t=(null===(r=null==t?void 0:t[e])||void 0===r?void 0:r[n])||[]}else{for(var i in r={},e=n===rt.ERRORS?ut.ERROR_COUNT:ut.WARN_COUNT,t)g(t[i][e])&&(r[i]=t[i][n]||[]);t=r}return t}function yt(t){return{getErrors:function(n){return gt(t.tests,rt.ERRORS,n)},getErrorsByGroup:function(n,e){return gt(t.groups[n],rt.ERRORS,e)},getWarnings:function(n){return gt(t.tests,rt.WARNINGS,n)},getWarningsByGroup:function(n,e){return gt(t.groups[n],rt.WARNINGS,e)},hasErrors:function(n){return Ct(t,ut.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return St(t,ut.ERROR_COUNT,n,e)},hasWarnings:function(n){return Ct(t,ut.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return St(t,ut.WARN_COUNT,n,e)},isValid:function(n){var e;return n?!(null===(e=t.tests[n])||void 0===e||!e.valid):t.valid},isValidByGroup:function(n,e){if(!(n=t.groups[n]))return!1;if(e)return Rt(n,e);for(var r in n)if(!Rt(n,r))return!1;return!0}}}function Rt(t,n){var e;return!(null===(e=t[n])||void 0===e||!e.valid)}function St(t,n,e,r){var i,u;if(!(t=t.groups[e]))return!1;if(r)return g(null===(i=t[r])||void 0===i?void 0:i[n]);for(var s in t)if(g(null===(u=t[s])||void 0===u?void 0:u[n]))return!0;return!1}function Ct(t,n,e){var r;return t=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0,g(t)}pt[pt.Immediate=0]="Immediate",pt[pt.Delayed=1]="Delayed";var Tt=u(1);function _t(){var t=H(),n={stateRef:D()};return Tt([t],F.bind(n,(function(){var t=mt(),n=D().suiteName()[0];return i(t,yt(t),{suiteName:n})})))}function Ot(t){var n=x();return!m(n)&&(!t||n.some((function(n){return ot(n,t)})))}var It=u(20);function At(){var t=H(),n={stateRef:D()};return It([t],F.bind(n,(function(){return i({},_t(),{done:F.bind(n,Ut)})})))}function kt(t,n,e){var r;return!!(!d(t)||n&&y(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function bt(t){return!(Ot()&&(!t||Ot(t)))}function Ut(){function t(){return r(_t())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=At(),kt(r,n,e)?e:bt(n)?(t(),e):(Lt(t,n),e)}function Lt(t,n){(0,D().testCallbacks()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Ft(){var t=C.createBus();return t.on(Wt.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=D().testCallbacks()[0].fieldCallbacks;n&&!Ot(n)&&E(e[n])&&S(e[n]),Ot()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED)}})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){function t(t){e[t.fieldName]&&(t.omit(),W(t.fieldName,(function(){return{applied:!0}})))}var n=D().optionalFields()[0];if(!m(n)){var e={};H().forEach((function(n){if(R(e,n.fieldName))t(n);else{var r=P(n.fieldName);r.type===dt.Immediate&&(e[n.fieldName]=N(r.rule),t(n))}})),G()}}()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){var t=D().testCallbacks()[0].doneCallbacks;S(t)})),t.on(Wt.REMOVE_FIELD,(function(t){H().forEach((function(n){ot(n,t)&&(n.cancel(),function(t){w((function(n){return s.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){H().forEach((function(n){ot(n,t)&&n.reset()}))})),t}function Dt(){var t=F.useX();return l(t.bus),t.bus}var Wt,Pt=Wt||(Wt={});function Gt(t){return xt(0,"tests",t)}function wt(t){return xt(1,"tests",t)}function xt(t,n,e){var i=F.useX("hook called outside of a running suite.");e&&o(e).forEach((function(e){r(e)&&(i.exclusion[n][e]=0===t)}))}function Xt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ht(){var t,n=F.useX().exclusion;for(t in n.groups)if(n.groups[t])return!0;return!1}function Kt(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function Mt(t,n,e){if(e||2===arguments.length)for(var r,i=0,u=n.length;i<u;i++)!r&&i in n||(r||(r=Array.prototype.slice.call(n,0,i)),r[i]=n[i]);return t.concat(r||Array.prototype.slice.call(n))}function qt(t){var n=t.asyncTest,e=t.message;if(_(n)){var i=Dt().emit,u=D(),s=F.bind({stateRef:u},(function(){G(),i(Wt.TEST_COMPLETED,t)}));u=F.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),s())})),n.then(s,u)}}function Bt(t){var n=D().testObjects()[0].prev;if(m(n))return Vt(t),t;var e=nt();if(n=s.valueAtPath(n,e),!c(t.key)){n=t.key,(e=tt().keys.prev[n])&&(t=e),e=t;var r=tt().keys.current;return c(r[n])?r[n]=e: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.")),Vt(t),t}return!h(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(tt().type===I.EACH||f("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=tt().cursor.current();w((function(n){return n.splice(t),n}))}(),n=null),Vt(t=T(n,t)),t}function Vt(t){var n=nt();w((function(e){return s.setValueAtPath(e,n,t)}))}function jt(t){var n=tt().cursor,e=k.EAGER;if(F.useX().mode[0]===e&&ct(rt.ERRORS,t.fieldName))return t.skip(),Bt(t),n.next(),t;if(e=Bt(t),F.useX().omitted||lt(t.fieldName))return e.omit(),n.next(),e;if(function(t){var n=t.fieldName;if(t=t.groupName,F.useX().skipped)return!0;var e=F.useX(),r=e.exclusion;e=e.inclusion;var i=r.tests,u=i[n];if(!1===u)return!0;if(u=!0===u,t){var s=F.useX().exclusion.groups;if(s=R(s,t)?!1===s[t]:Ht())return!0;if(!0===r.groups[t])return!(u||!Xt(i)&&!1!==i[n])}return!!(t=!!Ht()&&!t)||!u&&!!Xt(i)&&!N(e[n])}(t))return e.skip(!!F.useX().skipped),n.next(),e;if(t!==e&&e.fieldName===t.fieldName&&e.groupName===t.groupName&&e.isPending()&&e.cancel(),Vt(t),t.isUntested()){e=Dt();var r=function(t){return F.run({currentTest:t},(function(){return t.run()}))}(t);try{_(r)?(t.asyncTest=r,t.setPending(),qt(t)):e.emit(Wt.TEST_COMPLETED,t)}catch(n){throw Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else _(t.asyncTest)&&(t.setPending(),qt(t));return n.next(),t}function Yt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var i=d(n[1])?n:Mt([void 0],n,!0);n=i[0],e=i[1],i=i[2],l(r(t),Zt("fieldName","string")),l(d(e),Zt("Test callback","function"));var u=F.useX();return jt(n=new q(t,e,{message:n,groupName:u.groupName,key:i}))}Pt.TEST_COMPLETED="test_completed",Pt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",Pt.REMOVE_FIELD="remove_field",Pt.RESET_FIELD="reset_field",Pt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Gt.group=function(t){return xt(0,"groups",t)},wt.group=function(t){return xt(1,"groups",t)};var Jt,zt,Qt=i(Yt,{memo:(Jt=Yt,zt=u(10),function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];e=tt().cursor.current();var r=(n=n.reverse())[0],i=n[1],u=n[2];return e=[D().suiteId()[0],t,e].concat(r),n=zt.get(e),O(n)?zt(e,(function(){return Jt(t,u,i)})):n[1].isCanceled()?(zt.invalidate(e),zt(e,(function(){return Jt(t,u,i)}))):jt(n[1])})});function Zt(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}var $t="4.6.2-dev-fcaa09";function tn(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],l(d(r),"vest.create: Expected callback to be a function.");var u=Ft(),s=t();return n={stateRef:$(s,{suiteId:a(),suiteName:n}),bus:u},i(F.bind(n,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return s.reset(),et({type:I.SUITE},(function(){r.apply(void 0,t)})),u.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),At()})),{get:F.bind(n,_t),remove:F.bind(n,(function(t){u.emit(Wt.REMOVE_FIELD,t)})),reset:s.reset,resetField:F.bind(n,(function(t){u.emit(Wt.RESET_FIELD,t)}))})}function nn(t,n){l(d(n),"each callback must be a function"),et({type:I.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function en(){var t=k.EAGER;F.useX().mode[0]=t}function rn(t,n){l(r(t),Kt("name must be a string")),l(d(n),Kt("callback must be a function")),et({type:I.GROUP},(function(){F.run({groupName:t},n)}))}function un(t){var n=F.useX(),e=n.inclusion;return n=n.exclusion,l(r(t)),e[t]=T(n.tests[t],!0),{when:function(n){var e=F.useX(),i=e.exclusion;e.inclusion[t]=function(){return R(i.tests,t)?T(i.tests[t],!0):r(n)?!!i.tests[n]:N(n,N(_t))}}}}function sn(t,n){et({type:I.OMIT_WHEN},(function(){F.run({omitted:!!F.useX().omitted||N(t,N(_t))},(function(){return n()}))}))}function on(t){if(E(t)||r(t))o(t).forEach((function(t){W(t,(function(){return{type:dt.Delayed,applied:!1,rule:null}}))}));else{var n,e=function(n){var e=t[n];W(n,(function(){return{type:dt.Immediate,rule:e,applied:N(e)}}))};for(n in t)e(n)}}function an(t,n){et({type:I.SKIP_WHEN},(function(){F.run({skipped:!!F.useX().skipped||N(t,N(_t))},(function(){return n()}))}))}function cn(){var t=F.useX("warn hook called outside of a running suite.");l(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}export{$t as VERSION,F as context,tn as create,nn as each,en as eager,rn as group,un as include,sn as omitWhen,Gt as only,on as optional,wt as skip,an as skipWhen,yt as suiteSelectors,Qt as test,cn as warn};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";!function(n){"function"==typeof define&&define.amd&&define(n)}((function(){}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";!function(n){"function"==typeof define&&define.amd&&define(["n4s/compounds"],n)}((function(){}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";!function(n){"function"==typeof define&&define.amd&&define(["n4s/schema"],n)}((function(){}));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s'), require('vest-utils'), require('context')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'n4s', 'vest-utils', 'context'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vest = {}, global.n4s, global['vest-utils'], global.context));
|
|
5
|
-
}(this, (function (exports, n4s, vestUtils, context$1) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('n4s'), require('vest-utils'), require('context'), require('vast')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'n4s', 'vest-utils', 'context', 'vast'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vest = {}, global.n4s, global['vest-utils'], global.context, global.vast));
|
|
5
|
+
}(this, (function (exports, n4s, vestUtils, context$1, vast) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function shouldUseErrorAsMessage(message, error) {
|
|
8
8
|
// kind of cheating with this safe guard, but it does the job
|
|
@@ -287,70 +287,6 @@
|
|
|
287
287
|
var STATUS_CANCELED = 'CANCELED';
|
|
288
288
|
var STATUS_OMITTED = 'OMITTED';
|
|
289
289
|
|
|
290
|
-
// eslint-disable-next-line max-lines-per-function
|
|
291
|
-
function createState(onStateChange) {
|
|
292
|
-
var state = {
|
|
293
|
-
references: []
|
|
294
|
-
};
|
|
295
|
-
var registrations = [];
|
|
296
|
-
return {
|
|
297
|
-
registerStateKey: registerStateKey,
|
|
298
|
-
reset: reset
|
|
299
|
-
};
|
|
300
|
-
/**
|
|
301
|
-
* Registers a new key in the state, takes the initial value (may be a function that returns the initial value), returns a function.
|
|
302
|
-
*
|
|
303
|
-
* @example
|
|
304
|
-
*
|
|
305
|
-
* const useColor = state.registerStateKey("blue");
|
|
306
|
-
*
|
|
307
|
-
* let [color, setColor] = useColor(); // -> ["blue", Function]
|
|
308
|
-
*
|
|
309
|
-
* setColor("green");
|
|
310
|
-
*
|
|
311
|
-
* useColor()[0]; -> "green"
|
|
312
|
-
*/
|
|
313
|
-
function registerStateKey(initialState, onUpdate) {
|
|
314
|
-
var key = registrations.length;
|
|
315
|
-
registrations.push([initialState, onUpdate]);
|
|
316
|
-
return initKey(key, initialState);
|
|
317
|
-
}
|
|
318
|
-
function reset() {
|
|
319
|
-
var prev = current();
|
|
320
|
-
state.references = [];
|
|
321
|
-
registrations.forEach(function (_a, index) {
|
|
322
|
-
var initialValue = _a[0];
|
|
323
|
-
return initKey(index, initialValue, prev[index]);
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
function initKey(key, initialState, prevState) {
|
|
327
|
-
current().push();
|
|
328
|
-
set(key, vestUtils.optionalFunctionValue(initialState, prevState));
|
|
329
|
-
return function useStateKey() {
|
|
330
|
-
return [
|
|
331
|
-
current()[key],
|
|
332
|
-
function (nextState) {
|
|
333
|
-
return set(key, vestUtils.optionalFunctionValue(nextState, current()[key]));
|
|
334
|
-
},
|
|
335
|
-
];
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
function current() {
|
|
339
|
-
return state.references;
|
|
340
|
-
}
|
|
341
|
-
function set(index, value) {
|
|
342
|
-
var prevValue = state.references[index];
|
|
343
|
-
state.references[index] = value;
|
|
344
|
-
var _a = registrations[index], onUpdate = _a[1];
|
|
345
|
-
if (vestUtils.isFunction(onUpdate)) {
|
|
346
|
-
onUpdate(value, prevValue);
|
|
347
|
-
}
|
|
348
|
-
if (vestUtils.isFunction(onStateChange)) {
|
|
349
|
-
onStateChange();
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
290
|
function createStateRef(state, _a) {
|
|
355
291
|
var suiteId = _a.suiteId, suiteName = _a.suiteName;
|
|
356
292
|
return {
|
|
@@ -1113,7 +1049,7 @@
|
|
|
1113
1049
|
// Event bus initialization
|
|
1114
1050
|
var bus = initBus();
|
|
1115
1051
|
// State initialization
|
|
1116
|
-
var state = createState();
|
|
1052
|
+
var state = vast.createState();
|
|
1117
1053
|
// State reference - this holds the actual state values
|
|
1118
1054
|
var stateRef = createStateRef(state, { suiteId: vestUtils.seq(), suiteName: suiteName });
|
|
1119
1055
|
// Create base context reference. All hooks will derive their data from this
|
|
@@ -1505,14 +1441,7 @@
|
|
|
1505
1441
|
testObject.fail();
|
|
1506
1442
|
done();
|
|
1507
1443
|
});
|
|
1508
|
-
|
|
1509
|
-
asyncTest.then(done, fail);
|
|
1510
|
-
}
|
|
1511
|
-
catch (e) {
|
|
1512
|
-
// We will probably never get here, unless the consumer uses a buggy custom Promise
|
|
1513
|
-
// implementation that behaves differently than the native one, or if they for some
|
|
1514
|
-
fail();
|
|
1515
|
-
}
|
|
1444
|
+
asyncTest.then(done, fail);
|
|
1516
1445
|
}
|
|
1517
1446
|
|
|
1518
1447
|
/**
|
|
@@ -1731,7 +1660,7 @@
|
|
|
1731
1660
|
ctx.currentTest.warn();
|
|
1732
1661
|
}
|
|
1733
1662
|
|
|
1734
|
-
var VERSION = "4.6.
|
|
1663
|
+
var VERSION = "4.6.2-dev-fcaa09";
|
|
1735
1664
|
|
|
1736
1665
|
Object.defineProperty(exports, 'enforce', {
|
|
1737
1666
|
enumerable: true,
|