vest 4.6.8 → 4.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/vest.development.js +1 -1
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/vest.development.js +1 -1
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/vest.development.js +1 -1
- package/dist/umd/vest.production.js +1 -1
- package/package.json +5 -5
- package/types/vest.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,n,e=require("n4s"),r=require("vast"),i=require("vest-utils"),u=require("context");function o(t,n){var e=n.suiteId,r=n.suiteName;return{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(r),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function s(t,n){return void 0===n&&(n=[]),{cursor:(e={value:0},{current:function(){return e.value},next:function(){e.value++}}),keys:{current:{},prev:{}},path:n,type:t};var e}!function(t){t[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"}(t||(t={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(n||(n={}));var a=u.createCascade((function(e,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(t.DEFAULT),mode:[n.ALL]},e)}));function c(){return a.useX().isolate}function f(){var t=c();return t.path.concat(t.cursor.current())}function l(){return c().cursor}function p(){return a.useX().stateRef}function d(){return p().suiteId()[0]}function v(){return p().testCallbacks()}function E(){return p().optionalFields()}function h(t,n){(0,E()[1])((function(e){var r;return i.assign(e,((r={})[t]=i.assign({},e[t],n(e[t])),r))}))}function g(t){var n;return null!==(n=E()[0][t])&&void 0!==n?n:{}}function N(){return p().testObjects()}function m(){y((function(t){return t}))}function y(t){(0,N()[1])((function(n){var e=n.current;return{prev:n.prev,current:i.asArray(t(e))}}))}function R(){return C().filter((function(t){return t.isPending()}))}var S,T=i.cache();function C(){var t=N()[0].current;return T([t],(function(){return i.nestedArray.flatten(t)}))}function A(t){C().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(S||(S={}));var _,I,O=function(){function t(t,n,e){var r=void 0===e?{}:e,u=r.message,o=r.groupName,s=r.key;this.key=null,this.id=i.seq(),this.severity=S.Error,this.status=F,this.fieldName=t,this.testFn=n,o&&(this.groupName=o),u&&(this.message=u),s&&(this.key=s)}return t.prototype.run=function(){var t;try{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!==D||(this.status=t)},t.prototype.warns=function(){return this.severity===S.Warning},t.prototype.setPending=function(){this.setStatus(L)},t.prototype.fail=function(){this.setStatus(this.warns()?P:k)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=S.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(U),m()},t.prototype.reset=function(){this.status=F,m()},t.prototype.omit=function(){this.setStatus(D)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(L)},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(F)},t.prototype.isFailing=function(){return this.statusEquals(k)},t.prototype.isCanceled=function(){return this.statusEquals(U)},t.prototype.isSkipped=function(){return this.statusEquals(b)},t.prototype.isPassing=function(){return this.statusEquals(x)},t.prototype.isWarning=function(){return this.statusEquals(P)},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}(),F="UNTESTED",b="SKIPPED",k="FAILED",P="WARNING",x="PASSING",L="PENDING",U="CANCELED",D="OMITTED";function W(n,e){var r=n.type,u=void 0===r?t.DEFAULT:r;i.invariant(i.isFunction(e));var o=s(u,f()),c=a.run({isolate:o},(function(){var t;return o.keys.prev=(t=N()[0].prev,i.asArray(i.nestedArray.getCurrent(t,f())).reduce((function(t,n){return n instanceof O?(i.isNullish(n.key)||(t[n.key]=n),t):t}),{})),y((function(t){return i.nestedArray.setValueAtPath(t,o.path,[])})),e()}));return l().next(),c}function w(t){return t===_.ERRORS?I.ERROR_COUNT:I.WARN_COUNT}function G(t,n){return!!n&&!V(t,n)}function V(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(_||(_={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(I||(I={}));var q,X=i.bindNot((function(t,n){return t.groupName===n}));function H(t){return function(t,n){return C().some((function(e){return K(e,t,n)}))}(_.ERRORS,t)}function K(t,n,e){return!!t.hasFailures()&&(!G(t,e)&&!function(t,n){return i.either(t===_.WARNINGS,n.warns())}(n,t))}function M(t){return!!t&&g(t).applied}function B(t){if(M(t))return!0;var n=C();return!i.isEmpty(n)&&(!H(t)&&(!function(t){return R().some((function(n){return Y(n,t)}))}(t)&&function(t){return C().every((function(n){return J(n,t)}))}(t)))}function j(t,n){return!!M(n)||!function(t,n,e){return C().some((function(r){return!X(r,n)&&K(r,t,e)}))}(_.ERRORS,t,n)&&(!function(t,n){return R().some((function(e){return!X(e,t)&&Y(e,n)}))}(t,n)&&function(t,n){return C().every((function(e){return!!X(e,t)||J(e,n)}))}(t,n))}function Y(t,n){return!G(t,n)&&M(n)}function J(t,n){return!!G(t,n)||(function(t){return g(t.fieldName).type===q.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function z(){var t=C(),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]=Q(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&B(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Q(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=B(),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 Q(t,n){var e=n.fieldName,r=n.message;t[e]=t[e]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var u=t[e];return n.isNonActionable()||(t[e].testCount++,n.isFailing()?o(_.ERRORS):n.isWarning()&&o(_.WARNINGS)),u;function o(t){var n=w(t);u[n]++,r&&(u[t]=(u[t]||[]).concat(r))}}function Z(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=w(n);for(var u in t)i.isPositive(t[u][r])&&(e[u]=t[u][n]||[]);return e}(t,n)}function $(t){var n={getErrors:function(n){return tt(t,_.ERRORS,n)},getErrorsByGroup:function(n,e){return nt(t,_.ERRORS,n,e)},getWarnings:function(n){return tt(t,_.WARNINGS,n)},getWarningsByGroup:function(n,e){return nt(t,_.WARNINGS,n,e)},hasErrors:function(n){return it(t,I.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return rt(t,I.ERROR_COUNT,n,e)},hasWarnings:function(n){return it(t,I.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return rt(t,I.WARN_COUNT,n,e)},isValid:function(n){var e;return n?Boolean(null===(e=t.tests[n])||void 0===e?void 0:e.valid):t.valid},isValidByGroup:function(n,e){var r=t.groups[n];if(!r)return!1;if(e)return et(r,e);for(var i in r)if(!et(r,i))return!1;return!0}};return n}function tt(t,n,e){return Z(t.tests,n,e)}function nt(t,n,e,r){return Z(t.groups[e],n,r)}function et(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function rt(t,n,e,r){var u,o,s=t.groups[e];if(!s)return!1;if(r)return i.isPositive(null===(u=s[r])||void 0===u?void 0:u[n]);for(var a in s)if(i.isPositive(null===(o=s[a])||void 0===o?void 0:o[n]))return!0;return!1}function it(t,n,e){var r,u=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0;return i.isPositive(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(q||(q={}));var ut=i.cache(1);function ot(){var t=C(),n={stateRef:p()};return ut([t],a.bind(n,(function(){var t=z(),n=p().suiteName()[0];return i.assign(t,$(t),{suiteName:n})})))}function st(t){var n=R();return!i.isEmpty(n)&&(!t||n.some((function(n){return V(n,t)})))}var at=i.cache(20);function ct(){var t=C(),n={stateRef:p()};return at([t],a.bind(n,(function(){return i.assign({},ot(),{done:a.bind(n,dt)})})))}function ft(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 lt(t){return!(st()&&(!t||st(t)))}var pt,dt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=t.reverse(),r=e[0],i=e[1],u=ct();if(ft(r,i,u))return u;var o=function(){return r(ot())};return lt(i)?(o(),u):(vt(o,i),u)};function vt(t,n){(0,v()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Et(){var t=E()[0];if(!i.isEmpty(t)){var n={};C().forEach((function(t){i.hasOwnProperty(n,t.fieldName)?e(t):function(t){var r=g(t.fieldName);r.type===q.Immediate&&(n[t.fieldName]=i.optionalFunctionValue(r.rule),e(t))}(t)})),m()}function e(t){n[t.fieldName]&&(t.omit(),h(t.fieldName,(function(){return{applied:!0}})))}}function ht(){var t=i.bus.createBus();return t.on(pt.TEST_COMPLETED,(function(n){var e,r;n.isCanceled()||(n.done(),e=n.fieldName,r=v()[0].fieldCallbacks,e&&!st(e)&&i.isArray(r[e])&&i.callEach(r[e]),st()||t.emit(pt.ALL_RUNNING_TESTS_FINISHED))})),t.on(pt.SUITE_CALLBACK_DONE_RUNNING,(function(){Et()})),t.on(pt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=v()[0].doneCallbacks,i.callEach(t)})),t.on(pt.REMOVE_FIELD,(function(t){A((function(n){V(n,t)&&(n.cancel(),function(t){y((function(n){return i.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(pt.RESET_FIELD,(function(t){A((function(n){V(n,t)&&n.reset()}))})),t}function gt(){var t=a.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"}(pt||(pt={}));function Nt(){return!!a.useX().skipped}function mt(t){return St(0,"tests",t)}function yt(t){return St(1,"tests",t)}function Rt(t){var n=t.fieldName,e=t.groupName;if(Nt())return!0;var r=a.useX(),u=r.exclusion,o=r.inclusion,s=u.tests,c=s[n];if(!1===c)return!0;var f=!0===c;if(e){if(function(t){var n=a.useX().exclusion.groups;if(i.hasOwnProperty(n,t))return!1===n[t];return Ct()}(e))return!0;if(!0===u.groups[e])return!f&&(!!Tt(s)||!1===s[n])}return!!function(t){if(!Ct())return!1;return!t}(e)||!f&&(!!Tt(s)&&!i.optionalFunctionValue(o[n]))}function St(t,n,e){var r=a.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 Tt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ct(){var t=a.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function At(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function _t(t){return e=n.EAGER,a.useX().mode[0]===e&&H(t.fieldName);var e}function It(){return!!a.useX().omitted}function Ot(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 Ft(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function bt(t){var n=t.asyncTest,e=t.message;if(i.isPromise(n)){var r=gt().emit,u=p(),o=a.bind({stateRef:u},(function(){m(),r(pt.TEST_COMPLETED,t)})),s=a.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=i.isStringValue(n)?n:e,t.fail(),o())}));n.then(o,s)}}function kt(t){var n=gt(),e=function(t){return a.run({currentTest:t},(function(){return t.run()}))}(t);try{i.isPromise(e)?(t.asyncTest=e,t.setPending(),bt(t)):n.emit(pt.TEST_COMPLETED,t)}catch(n){throw new Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}function Pt(n){var e=N()[0].prev;if(i.isEmpty(e))return xt(n),n;var r,u,o,s=(r=e,u=f(),i.nestedArray.valueAtPath(r,u));if(!i.isNullish(n.key)){var a=function(t,n){var e=function(t){return c().keys.prev[t]}(t),r=n;e&&(r=e);return function(t,n){var e=c().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,r),r}(n.key,n);return xt(a),a}(function(t,n){return i.isNotEmpty(t)&&!Ft(t,n)})(s,n)&&(!function(n,e){if(c().type===t.EACH)return;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.'))}(s,n),o=l().current(),y((function(t){return t.splice(o),t})),s=null);var p=i.defaultTo(s,n);return xt(p),p}function xt(t){var n=f();y((function(e){return i.nestedArray.setValueAtPath(e,n,t)}))}function Lt(t){var n=l();if(_t(t))return t.skip(),Pt(t),n.next(),t;var e,r,u=Pt(t);return It()||M(t.fieldName)?(u.omit(),n.next(),u):Rt(t)?(u.skip(Nt()),n.next(),u):((r=t)!==(e=u)&&Ft(e,r)&&e.isPending()&&e.cancel(),xt(t),function(t){t.isUntested()?kt(t):i.isPromise(t.asyncTest)&&(t.setPending(),bt(t))}(t),n.next(),t)}function Ut(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=i.isFunction(n[1])?n:Ot([void 0],n,!0),u=r[0],o=r[1],s=r[2];i.invariant(i.isStringValue(t),Wt("fieldName","string")),i.invariant(i.isFunction(o),Wt("Test callback","function"));var c=a.useX(),f=new O(t,o,{message:u,groupName:c.groupName,key:s});return Lt(f)}mt.group=function(t){return St(0,"groups",t)},yt.group=function(t){return St(1,"groups",t)};var Dt=i.assign(Ut,{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];var o=l().current(),s=r.reverse(),a=s[0],c=s[1],f=s[2],p=[d(),e,o].concat(a),v=n.get(p);return i.isNull(v)?n(p,(function(){return t(e,f,c)})):v[1].isCanceled()?(n.invalidate(p),n(p,(function(){return t(e,f,c)}))):Lt(v[1])}}(Ut)});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 e.enforce}}),exports.VERSION="4.6.8",exports.context=a,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var u=n.reverse(),s=u[0],c=u[1];i.invariant(i.isFunction(s),"vest.create: Expected callback to be a function.");var f=ht(),l=r.createState(),p=o(l,{suiteId:i.seq(),suiteName:c}),d={stateRef:p,bus:f},v=i.assign(a.bind(d,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return l.reset(),W({type:t.SUITE},(function(){s.apply(void 0,n)})),f.emit(pt.SUITE_CALLBACK_DONE_RUNNING),ct()})),{get:a.bind(d,ot),remove:a.bind(d,(function(t){f.emit(pt.REMOVE_FIELD,t)})),reset:l.reset,resetField:a.bind(d,(function(t){f.emit(pt.RESET_FIELD,t)}))});return v},exports.each=function(n,e){i.invariant(i.isFunction(e),"each callback must be a function"),W({type:t.EACH},(function(){n.forEach((function(t,n){e(t,n)}))}))},exports.eager=function(){var t;t=n.EAGER,a.useX().mode[0]=t},exports.group=function(n,e){i.invariant(i.isStringValue(n),At("name must be a string")),i.invariant(i.isFunction(e),At("callback must be a function")),W({type:t.GROUP},(function(){a.run({groupName:n},e)}))},exports.include=function(t){var n=a.useX(),e=n.inclusion,r=n.exclusion;return i.invariant(i.isStringValue(t)),e[t]=i.defaultTo(r.tests[t],!0),{when:function(n){var e=a.useX(),r=e.inclusion,u=e.exclusion;r[t]=function(){return i.hasOwnProperty(u.tests,t)?i.defaultTo(u.tests[t],!0):i.isStringValue(n)?Boolean(u.tests[n]):i.optionalFunctionValue(n,i.optionalFunctionValue(ot))}}}},exports.omitWhen=function(n,e){W({type:t.OMIT_WHEN},(function(){a.run({omitted:It()||i.optionalFunctionValue(n,i.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.only=mt,exports.optional=function(t){if(i.isArray(t)||i.isStringValue(t))i.asArray(t).forEach((function(t){h(t,(function(){return{type:q.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];h(n,(function(){return{type:q.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(var e in t)n(e)}},exports.skip=yt,exports.skipWhen=function(n,e){W({type:t.SKIP_WHEN},(function(){a.run({skipped:Nt()||i.optionalFunctionValue(n,i.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.suiteSelectors=$,exports.test=Dt,exports.warn=function(){var t=a.useX("warn hook called outside of a running suite.");i.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,n,e=require("n4s"),r=require("vast"),i=require("vest-utils"),u=require("context");function o(t,n){var e=n.suiteId,r=n.suiteName;return{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(r),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function s(t,n){return void 0===n&&(n=[]),{cursor:(e={value:0},{current:function(){return e.value},next:function(){e.value++}}),keys:{current:{},prev:{}},path:n,type:t};var e}!function(t){t[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"}(t||(t={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(n||(n={}));var a=u.createCascade((function(e,r){return r?null:i.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:s(t.DEFAULT),mode:[n.ALL]},e)}));function c(){return a.useX().isolate}function f(){var t=c();return t.path.concat(t.cursor.current())}function l(){return c().cursor}function p(){return a.useX().stateRef}function d(){return p().suiteId()[0]}function v(){return p().testCallbacks()}function E(){return p().optionalFields()}function h(t,n){(0,E()[1])((function(e){var r;return i.assign(e,((r={})[t]=i.assign({},e[t],n(e[t])),r))}))}function g(t){var n;return null!==(n=E()[0][t])&&void 0!==n?n:{}}function N(){return p().testObjects()}function m(){y((function(t){return t}))}function y(t){(0,N()[1])((function(n){var e=n.current;return{prev:n.prev,current:i.asArray(t(e))}}))}function R(){return C().filter((function(t){return t.isPending()}))}var S,T=i.cache();function C(){var t=N()[0].current;return T([t],(function(){return i.nestedArray.flatten(t)}))}function A(t){C().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(S||(S={}));var _,I,O=function(){function t(t,n,e){var r=void 0===e?{}:e,u=r.message,o=r.groupName,s=r.key;this.key=null,this.id=i.seq(),this.severity=S.Error,this.status=F,this.fieldName=t,this.testFn=n,o&&(this.groupName=o),u&&(this.message=u),s&&(this.key=s)}return t.prototype.run=function(){var t;try{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!==D||(this.status=t)},t.prototype.warns=function(){return this.severity===S.Warning},t.prototype.setPending=function(){this.setStatus(L)},t.prototype.fail=function(){this.setStatus(this.warns()?P:k)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(x)},t.prototype.warn=function(){this.severity=S.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(U),m()},t.prototype.reset=function(){this.status=F,m()},t.prototype.omit=function(){this.setStatus(D)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(L)},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(F)},t.prototype.isFailing=function(){return this.statusEquals(k)},t.prototype.isCanceled=function(){return this.statusEquals(U)},t.prototype.isSkipped=function(){return this.statusEquals(b)},t.prototype.isPassing=function(){return this.statusEquals(x)},t.prototype.isWarning=function(){return this.statusEquals(P)},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}(),F="UNTESTED",b="SKIPPED",k="FAILED",P="WARNING",x="PASSING",L="PENDING",U="CANCELED",D="OMITTED";function W(n,e){var r=n.type,u=void 0===r?t.DEFAULT:r;i.invariant(i.isFunction(e));var o=s(u,f()),c=a.run({isolate:o},(function(){var t;return o.keys.prev=(t=N()[0].prev,i.asArray(i.nestedArray.getCurrent(t,f())).reduce((function(t,n){return n instanceof O?(i.isNullish(n.key)||(t[n.key]=n),t):t}),{})),y((function(t){return i.nestedArray.setValueAtPath(t,o.path,[])})),e()}));return l().next(),c}function w(t){return t===_.ERRORS?I.ERROR_COUNT:I.WARN_COUNT}function G(t,n){return!!n&&!V(t,n)}function V(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(_||(_={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(I||(I={}));var q,X=i.bindNot((function(t,n){return t.groupName===n}));function H(t){return function(t,n){return C().some((function(e){return K(e,t,n)}))}(_.ERRORS,t)}function K(t,n,e){return!!t.hasFailures()&&(!G(t,e)&&!function(t,n){return i.either(t===_.WARNINGS,n.warns())}(n,t))}function M(t){return!!t&&g(t).applied}function B(t){if(M(t))return!0;var n=C();return!i.isEmpty(n)&&(!H(t)&&(!function(t){return R().some((function(n){return Y(n,t)}))}(t)&&function(t){return C().every((function(n){return J(n,t)}))}(t)))}function j(t,n){return!!M(n)||!function(t,n,e){return C().some((function(r){return!X(r,n)&&K(r,t,e)}))}(_.ERRORS,t,n)&&(!function(t,n){return R().some((function(e){return!X(e,t)&&Y(e,n)}))}(t,n)&&function(t,n){return C().every((function(e){return!!X(e,t)||J(e,n)}))}(t,n))}function Y(t,n){return!G(t,n)&&M(n)}function J(t,n){return!!G(t,n)||(function(t){return g(t.fieldName).type===q.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function z(){var t=C(),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]=Q(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&B(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Q(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=B(),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 Q(t,n){var e=n.fieldName,r=n.message;t[e]=t[e]||i.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var u=t[e];return n.isNonActionable()||(t[e].testCount++,n.isFailing()?o(_.ERRORS):n.isWarning()&&o(_.WARNINGS)),u;function o(t){var n=w(t);u[n]++,r&&(u[t]=(u[t]||[]).concat(r))}}function Z(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=w(n);for(var u in t)i.isPositive(t[u][r])&&(e[u]=t[u][n]||[]);return e}(t,n)}function $(t){var n={getErrors:function(n){return tt(t,_.ERRORS,n)},getErrorsByGroup:function(n,e){return nt(t,_.ERRORS,n,e)},getWarnings:function(n){return tt(t,_.WARNINGS,n)},getWarningsByGroup:function(n,e){return nt(t,_.WARNINGS,n,e)},hasErrors:function(n){return it(t,I.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return rt(t,I.ERROR_COUNT,n,e)},hasWarnings:function(n){return it(t,I.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return rt(t,I.WARN_COUNT,n,e)},isValid:function(n){var e;return n?Boolean(null===(e=t.tests[n])||void 0===e?void 0:e.valid):t.valid},isValidByGroup:function(n,e){var r=t.groups[n];if(!r)return!1;if(e)return et(r,e);for(var i in r)if(!et(r,i))return!1;return!0}};return n}function tt(t,n,e){return Z(t.tests,n,e)}function nt(t,n,e,r){return Z(t.groups[e],n,r)}function et(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function rt(t,n,e,r){var u,o,s=t.groups[e];if(!s)return!1;if(r)return i.isPositive(null===(u=s[r])||void 0===u?void 0:u[n]);for(var a in s)if(i.isPositive(null===(o=s[a])||void 0===o?void 0:o[n]))return!0;return!1}function it(t,n,e){var r,u=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0;return i.isPositive(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(q||(q={}));var ut=i.cache(1);function ot(){var t=C(),n={stateRef:p()};return ut([t],a.bind(n,(function(){var t=z(),n=p().suiteName()[0];return i.assign(t,$(t),{suiteName:n})})))}function st(t){var n=R();return!i.isEmpty(n)&&(!t||n.some((function(n){return V(n,t)})))}var at=i.cache(20);function ct(){var t=C(),n={stateRef:p()};return at([t],a.bind(n,(function(){return i.assign({},ot(),{done:a.bind(n,dt)})})))}function ft(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 lt(t){return!(st()&&(!t||st(t)))}var pt,dt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=t.reverse(),r=e[0],i=e[1],u=ct();if(ft(r,i,u))return u;var o=function(){return r(ot())};return lt(i)?(o(),u):(vt(o,i),u)};function vt(t,n){(0,v()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function Et(){var t=E()[0];if(!i.isEmpty(t)){var n={};C().forEach((function(t){i.hasOwnProperty(n,t.fieldName)?e(t):function(t){var r=g(t.fieldName);r.type===q.Immediate&&(n[t.fieldName]=i.optionalFunctionValue(r.rule),e(t))}(t)})),m()}function e(t){n[t.fieldName]&&(t.omit(),h(t.fieldName,(function(){return{applied:!0}})))}}function ht(){var t=i.bus.createBus();return t.on(pt.TEST_COMPLETED,(function(n){var e,r;n.isCanceled()||(n.done(),e=n.fieldName,r=v()[0].fieldCallbacks,e&&!st(e)&&i.isArray(r[e])&&i.callEach(r[e]),st()||t.emit(pt.ALL_RUNNING_TESTS_FINISHED))})),t.on(pt.SUITE_CALLBACK_DONE_RUNNING,(function(){Et()})),t.on(pt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=v()[0].doneCallbacks,i.callEach(t)})),t.on(pt.REMOVE_FIELD,(function(t){A((function(n){V(n,t)&&(n.cancel(),function(t){y((function(n){return i.nestedArray.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(pt.RESET_FIELD,(function(t){A((function(n){V(n,t)&&n.reset()}))})),t}function gt(){var t=a.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"}(pt||(pt={}));function Nt(){return!!a.useX().skipped}function mt(t){return St(0,"tests",t)}function yt(t){return St(1,"tests",t)}function Rt(t){var n=t.fieldName,e=t.groupName;if(Nt())return!0;var r=a.useX(),u=r.exclusion,o=r.inclusion,s=u.tests,c=s[n];if(!1===c)return!0;var f=!0===c;if(e){if(function(t){var n=a.useX().exclusion.groups;if(i.hasOwnProperty(n,t))return!1===n[t];return Ct()}(e))return!0;if(!0===u.groups[e])return!f&&(!!Tt(s)||!1===s[n])}return!!function(t){if(!Ct())return!1;return!t}(e)||!f&&(!!Tt(s)&&!i.optionalFunctionValue(o[n]))}function St(t,n,e){var r=a.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 Tt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Ct(){var t=a.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function At(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function _t(t){return e=n.EAGER,a.useX().mode[0]===e&&H(t.fieldName);var e}function It(){return!!a.useX().omitted}function Ot(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 Ft(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function bt(t){var n=t.asyncTest,e=t.message;if(i.isPromise(n)){var r=gt().emit,u=p(),o=a.bind({stateRef:u},(function(){m(),r(pt.TEST_COMPLETED,t)})),s=a.bind({stateRef:u},(function(n){t.isCanceled()||(t.message=i.isStringValue(n)?n:e,t.fail(),o())}));n.then(o,s)}}function kt(t){var n=gt(),e=function(t){return a.run({currentTest:t},(function(){return t.run()}))}(t);try{i.isPromise(e)?(t.asyncTest=e,t.setPending(),bt(t)):n.emit(pt.TEST_COMPLETED,t)}catch(n){throw new Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}function Pt(n){var e=N()[0].prev;if(i.isEmpty(e))return xt(n),n;var r,u,o,s=(r=e,u=f(),i.nestedArray.valueAtPath(r,u));if(!i.isNullish(n.key)){var a=function(t,n){var e=function(t){return c().keys.prev[t]}(t),r=n;e&&(r=e);return function(t,n){var e=c().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,r),r}(n.key,n);return xt(a),a}(function(t,n){return i.isNotEmpty(t)&&!Ft(t,n)})(s,n)&&(!function(n,e){if(c().type===t.EACH)return;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.'))}(s,n),o=l().current(),y((function(t){return t.splice(o),t})),s=null);var p=i.defaultTo(s,n);return xt(p),p}function xt(t){var n=f();y((function(e){return i.nestedArray.setValueAtPath(e,n,t)}))}function Lt(t){var n=l();if(_t(t))return t.skip(),Pt(t),n.next(),t;var e,r,u=Pt(t);return It()||M(t.fieldName)?(u.omit(),n.next(),u):Rt(t)?(u.skip(Nt()),n.next(),u):((r=t)!==(e=u)&&Ft(e,r)&&e.isPending()&&e.cancel(),xt(t),function(t){t.isUntested()?kt(t):i.isPromise(t.asyncTest)&&(t.setPending(),bt(t))}(t),n.next(),t)}function Ut(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=i.isFunction(n[1])?n:Ot([void 0],n,!0),u=r[0],o=r[1],s=r[2];i.invariant(i.isStringValue(t),Wt("fieldName","string")),i.invariant(i.isFunction(o),Wt("Test callback","function"));var c=a.useX(),f=new O(t,o,{message:u,groupName:c.groupName,key:s});return Lt(f)}mt.group=function(t){return St(0,"groups",t)},yt.group=function(t){return St(1,"groups",t)};var Dt=i.assign(Ut,{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];var o=l().current(),s=r.reverse(),a=s[0],c=s[1],f=s[2],p=[d(),e,o].concat(a),v=n.get(p);return i.isNull(v)?n(p,(function(){return t(e,f,c)})):v[1].isCanceled()?(n.invalidate(p),n(p,(function(){return t(e,f,c)}))):Lt(v[1])}}(Ut)});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 e.enforce}}),exports.VERSION="4.6.9",exports.context=a,exports.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var u=n.reverse(),s=u[0],c=u[1];i.invariant(i.isFunction(s),"vest.create: Expected callback to be a function.");var f=ht(),l=r.createState(),p=o(l,{suiteId:i.seq(),suiteName:c}),d={stateRef:p,bus:f},v=i.assign(a.bind(d,(function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return l.reset(),W({type:t.SUITE},(function(){s.apply(void 0,n)})),f.emit(pt.SUITE_CALLBACK_DONE_RUNNING),ct()})),{get:a.bind(d,ot),remove:a.bind(d,(function(t){f.emit(pt.REMOVE_FIELD,t)})),reset:l.reset,resetField:a.bind(d,(function(t){f.emit(pt.RESET_FIELD,t)}))});return v},exports.each=function(n,e){i.invariant(i.isFunction(e),"each callback must be a function"),W({type:t.EACH},(function(){n.forEach((function(t,n){e(t,n)}))}))},exports.eager=function(){var t;t=n.EAGER,a.useX().mode[0]=t},exports.group=function(n,e){i.invariant(i.isStringValue(n),At("name must be a string")),i.invariant(i.isFunction(e),At("callback must be a function")),W({type:t.GROUP},(function(){a.run({groupName:n},e)}))},exports.include=function(t){var n=a.useX(),e=n.inclusion,r=n.exclusion;return i.invariant(i.isStringValue(t)),e[t]=i.defaultTo(r.tests[t],!0),{when:function(n){var e=a.useX(),r=e.inclusion,u=e.exclusion;r[t]=function(){return i.hasOwnProperty(u.tests,t)?i.defaultTo(u.tests[t],!0):i.isStringValue(n)?Boolean(u.tests[n]):i.optionalFunctionValue(n,i.optionalFunctionValue(ot))}}}},exports.omitWhen=function(n,e){W({type:t.OMIT_WHEN},(function(){a.run({omitted:It()||i.optionalFunctionValue(n,i.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.only=mt,exports.optional=function(t){if(i.isArray(t)||i.isStringValue(t))i.asArray(t).forEach((function(t){h(t,(function(){return{type:q.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];h(n,(function(){return{type:q.Immediate,rule:e,applied:i.optionalFunctionValue(e)}}))};for(var e in t)n(e)}},exports.skip=yt,exports.skipWhen=function(n,e){W({type:t.SKIP_WHEN},(function(){a.run({skipped:Nt()||i.optionalFunctionValue(n,i.optionalFunctionValue(ot))},(function(){return e()}))}))},exports.suiteSelectors=$,exports.test=Dt,exports.warn=function(){var t=a.useX("warn hook called outside of a running suite.");i.invariant(t.currentTest,"warn called outside of a test."),t.currentTest.warn()};
|
|
@@ -1657,6 +1657,6 @@ function warn() {
|
|
|
1657
1657
|
ctx.currentTest.warn();
|
|
1658
1658
|
}
|
|
1659
1659
|
|
|
1660
|
-
var VERSION = "4.6.
|
|
1660
|
+
var VERSION = "4.6.9";
|
|
1661
1661
|
|
|
1662
1662
|
export { VERSION, context, create, each, eager, group, include, omitWhen, only, optional, skip, skipWhen, suiteSelectors, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{enforce}from"n4s";import{createState as t}from"vast";import{assign as n,isUndefined as e,isStringValue as r,cache as u,asArray as i,nestedArray as o,seq as s,isNullish as a,deferThrow as c,invariant as f,isFunction as l,bindNot as d,either as p,isArray as v,optionalFunctionValue as E,isEmpty as m,isPositive as N,numberEquals as h,hasOwnProperty as g,callEach as y,bus as R,defaultTo as S,isPromise as T,isNotEmpty as C,isNull as I}from"vest-utils";import{createCascade as _}from"context";var A,O;function k(t,n){var e=n.suiteId,r=n.suiteName;return{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(r),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function b(t,n){return void 0===n&&(n=[]),{cursor:(e={value:0},{current:function(){return e.value},next:function(){e.value++}}),keys:{current:{},prev:{}},path:n,type:t};var e}!function(t){t[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"}(A||(A={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(O||(O={}));var L=_((function(t,e){return e?null:n({exclusion:{tests:{},groups:{}},inclusion:{},isolate:b(A.DEFAULT),mode:[O.ALL]},t)}));function U(){return L.useX().isolate}function D(){var t=U();return t.path.concat(t.cursor.current())}function F(){return U().cursor}function P(){return L.useX().stateRef}function W(){return P().suiteId()[0]}function G(){return P().testCallbacks()}function w(){return P().optionalFields()}function x(t,e){(0,w()[1])((function(r){var u;return n(r,((u={})[t]=n({},r[t],e(r[t])),u))}))}function X(t){var n;return null!==(n=w()[0][t])&&void 0!==n?n:{}}function H(){return P().testObjects()}function K(){B((function(t){return t}))}function B(t){(0,H()[1])((function(n){var e=n.current;return{prev:n.prev,current:i(t(e))}}))}function M(){return j().filter((function(t){return t.isPending()}))}var q,V=u();function j(){var t=H()[0].current;return V([t],(function(){return o.flatten(t)}))}function Y(t){j().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(q||(q={}));var J,z,Q=function(){function t(t,n,e){var r=void 0===e?{}:e,u=r.message,i=r.groupName,o=r.key;this.key=null,this.id=s(),this.severity=q.Error,this.status=Z,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),u&&(this.message=u),o&&(this.key=o)}return t.prototype.run=function(){var t;try{t=this.testFn()}catch(n){(function(t,n){return e(t)&&r(n)})(this.message,n)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==it||(this.status=t)},t.prototype.warns=function(){return this.severity===q.Warning},t.prototype.setPending=function(){this.setStatus(rt)},t.prototype.fail=function(){this.setStatus(this.warns()?nt:tt)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(et)},t.prototype.warn=function(){this.severity=q.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(ut),K()},t.prototype.reset=function(){this.status=Z,K()},t.prototype.omit=function(){this.setStatus(it)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(rt)},t.prototype.isOmitted=function(){return this.statusEquals(it)},t.prototype.isUntested=function(){return this.statusEquals(Z)},t.prototype.isFailing=function(){return this.statusEquals(tt)},t.prototype.isCanceled=function(){return this.statusEquals(ut)},t.prototype.isSkipped=function(){return this.statusEquals($)},t.prototype.isPassing=function(){return this.statusEquals(et)},t.prototype.isWarning=function(){return this.statusEquals(nt)},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}(),Z="UNTESTED",$="SKIPPED",tt="FAILED",nt="WARNING",et="PASSING",rt="PENDING",ut="CANCELED",it="OMITTED";function ot(t,n){var e=t.type,r=void 0===e?A.DEFAULT:e;f(l(n));var u=b(r,D()),s=L.run({isolate:u},(function(){var t;return u.keys.prev=(t=H()[0].prev,i(o.getCurrent(t,D())).reduce((function(t,n){return n instanceof Q?(a(n.key)||(t[n.key]=n),t):t}),{})),B((function(t){return o.setValueAtPath(t,u.path,[])})),n()}));return F().next(),s}function st(t){return t===J.ERRORS?z.ERROR_COUNT:z.WARN_COUNT}function at(t,n){return!!n&&!ct(t,n)}function ct(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(J||(J={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(z||(z={}));var ft,lt=d((function(t,n){return t.groupName===n}));function dt(t){return function(t,n){return j().some((function(e){return pt(e,t,n)}))}(J.ERRORS,t)}function pt(t,n,e){return!!t.hasFailures()&&(!at(t,e)&&!function(t,n){return p(t===J.WARNINGS,n.warns())}(n,t))}function vt(t){if(v(t)||r(t))i(t).forEach((function(t){x(t,(function(){return{type:ft.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];x(n,(function(){return{type:ft.Immediate,rule:e,applied:E(e)}}))};for(var e in t)n(e)}}function Et(t){return!!t&&X(t).applied}function mt(t){if(Et(t))return!0;var n=j();return!m(n)&&(!dt(t)&&(!function(t){return M().some((function(n){return ht(n,t)}))}(t)&&function(t){return j().every((function(n){return gt(n,t)}))}(t)))}function Nt(t,n){return!!Et(n)||!function(t,n,e){return j().some((function(r){return!lt(r,n)&&pt(r,t,e)}))}(J.ERRORS,t,n)&&(!function(t,n){return M().some((function(e){return!lt(e,t)&&ht(e,n)}))}(t,n)&&function(t,n){return j().every((function(e){return!!lt(e,t)||gt(e,n)}))}(t,n))}function ht(t,n){return!at(t,n)&&Et(n)}function gt(t,n){return!!at(t,n)||(function(t){return X(t.fieldName).type===ft.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function yt(){var t=j(),e=n({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=Rt(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&mt(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Rt(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&Nt(e,n.fieldName)}(t.groups,n),t}),e),e.valid=mt(),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}(e)}function Rt(t,e){var r=e.fieldName,u=e.message;t[r]=t[r]||n({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=t[r];return e.isNonActionable()||(t[r].testCount++,e.isFailing()?o(J.ERRORS):e.isWarning()&&o(J.WARNINGS)),i;function o(t){var n=st(t);i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}}function St(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=st(n);for(var u in t)N(t[u][r])&&(e[u]=t[u][n]||[]);return e}(t,n)}function Tt(t){var n={getErrors:function(n){return Ct(t,J.ERRORS,n)},getErrorsByGroup:function(n,e){return It(t,J.ERRORS,n,e)},getWarnings:function(n){return Ct(t,J.WARNINGS,n)},getWarningsByGroup:function(n,e){return It(t,J.WARNINGS,n,e)},hasErrors:function(n){return Ot(t,z.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return At(t,z.ERROR_COUNT,n,e)},hasWarnings:function(n){return Ot(t,z.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return At(t,z.WARN_COUNT,n,e)},isValid:function(n){var e;return n?Boolean(null===(e=t.tests[n])||void 0===e?void 0:e.valid):t.valid},isValidByGroup:function(n,e){var r=t.groups[n];if(!r)return!1;if(e)return _t(r,e);for(var u in r)if(!_t(r,u))return!1;return!0}};return n}function Ct(t,n,e){return St(t.tests,n,e)}function It(t,n,e,r){return St(t.groups[e],n,r)}function _t(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function At(t,n,e,r){var u,i,o=t.groups[e];if(!o)return!1;if(r)return N(null===(u=o[r])||void 0===u?void 0:u[n]);for(var s in o)if(N(null===(i=o[s])||void 0===i?void 0:i[n]))return!0;return!1}function Ot(t,n,e){var r,u=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0;return N(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(ft||(ft={}));var kt=u(1);function bt(){var t=j(),e={stateRef:P()};return kt([t],L.bind(e,(function(){var t=yt(),e=P().suiteName()[0];return n(t,Tt(t),{suiteName:e})})))}function Lt(t){var n=M();return!m(n)&&(!t||n.some((function(n){return ct(n,t)})))}var Ut=u(20);function Dt(){var t=j(),e={stateRef:P()};return Ut([t],L.bind(e,(function(){return n({},bt(),{done:L.bind(e,Gt)})})))}function Ft(t,n,e){var r;return!!(!l(t)||n&&h(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function Pt(t){return!(Lt()&&(!t||Lt(t)))}var Wt,Gt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=t.reverse(),r=e[0],u=e[1],i=Dt();if(Ft(r,u,i))return i;var o=function(){return r(bt())};return Pt(u)?(o(),i):(wt(o,u),i)};function wt(t,n){(0,G()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function xt(){var t=w()[0];if(!m(t)){var n={};j().forEach((function(t){g(n,t.fieldName)?e(t):function(t){var r=X(t.fieldName);r.type===ft.Immediate&&(n[t.fieldName]=E(r.rule),e(t))}(t)})),K()}function e(t){n[t.fieldName]&&(t.omit(),x(t.fieldName,(function(){return{applied:!0}})))}}function Xt(){var t=R.createBus();return t.on(Wt.TEST_COMPLETED,(function(n){var e,r;n.isCanceled()||(n.done(),e=n.fieldName,r=G()[0].fieldCallbacks,e&&!Lt(e)&&v(r[e])&&y(r[e]),Lt()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED))})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){xt()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=G()[0].doneCallbacks,y(t)})),t.on(Wt.REMOVE_FIELD,(function(t){Y((function(n){ct(n,t)&&(n.cancel(),function(t){B((function(n){return o.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){Y((function(n){ct(n,t)&&n.reset()}))})),t}function Ht(){var t=L.useX();return f(t.bus),t.bus}function Kt(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var u=e.reverse(),i=u[0],o=u[1];f(l(i),"vest.create: Expected callback to be a function.");var a=Xt(),c=t(),d=k(c,{suiteId:s(),suiteName:o}),p={stateRef:d,bus:a},v=n(L.bind(p,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return c.reset(),ot({type:A.SUITE},(function(){i.apply(void 0,t)})),a.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),Dt()})),{get:L.bind(p,bt),remove:L.bind(p,(function(t){a.emit(Wt.REMOVE_FIELD,t)})),reset:c.reset,resetField:L.bind(p,(function(t){a.emit(Wt.RESET_FIELD,t)}))});return v}function Bt(t,n){f(l(n),"each callback must be a function"),ot({type:A.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}!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"}(Wt||(Wt={}));function Mt(t,n){ot({type:A.SKIP_WHEN},(function(){L.run({skipped:qt()||E(t,E(bt))},(function(){return n()}))}))}function qt(){return!!L.useX().skipped}function Vt(t){return Jt(0,"tests",t)}function jt(t){return Jt(1,"tests",t)}function Yt(t){var n=t.fieldName,e=t.groupName;if(qt())return!0;var r=L.useX(),u=r.exclusion,i=r.inclusion,o=u.tests,s=o[n];if(!1===s)return!0;var a=!0===s;if(e){if(function(t){var n=L.useX().exclusion.groups;if(g(n,t))return!1===n[t];return Qt()}(e))return!0;if(!0===u.groups[e])return!a&&(!!zt(o)||!1===o[n])}return!!function(t){if(!Qt())return!1;return!t}(e)||!a&&(!!zt(o)&&!E(i[n]))}function Jt(t,n,e){var u=L.useX("hook called outside of a running suite.");e&&i(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function zt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Qt(){var t=L.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function Zt(t,n){f(r(t),$t("name must be a string")),f(l(n),$t("callback must be a function")),ot({type:A.GROUP},(function(){L.run({groupName:t},n)}))}function $t(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function tn(t){var n=L.useX(),e=n.inclusion,u=n.exclusion;return f(r(t)),e[t]=S(u.tests[t],!0),{when:function(n){var e=L.useX(),u=e.inclusion,i=e.exclusion;u[t]=function(){return g(i.tests,t)?S(i.tests[t],!0):r(n)?Boolean(i.tests[n]):E(n,E(bt))}}}}function nn(){var t;t=O.EAGER,L.useX().mode[0]=t}function en(t){return n=O.EAGER,L.useX().mode[0]===n&&dt(t.fieldName);var n}function rn(t,n){ot({type:A.OMIT_WHEN},(function(){L.run({omitted:un()||E(t,E(bt))},(function(){return n()}))}))}function un(){return!!L.useX().omitted}function on(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 sn(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function an(t){var n=t.asyncTest,e=t.message;if(T(n)){var u=Ht().emit,i=P(),o=L.bind({stateRef:i},(function(){K(),u(Wt.TEST_COMPLETED,t)})),s=L.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));n.then(o,s)}}function cn(t){var n=Ht(),e=function(t){return L.run({currentTest:t},(function(){return t.run()}))}(t);try{T(e)?(t.asyncTest=e,t.setPending(),an(t)):n.emit(Wt.TEST_COMPLETED,t)}catch(n){throw new Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}function fn(t){var n=H()[0].prev;if(m(n))return ln(t),t;var e,r,u,i=(e=n,r=D(),o.valueAtPath(e,r));if(!a(t.key)){var s=function(t,n){var e=function(t){return U().keys.prev[t]}(t),r=n;e&&(r=e);return function(t,n){var e=U().keys.current;a(e[t])?e[t]=n:c('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,r),r}(t.key,t);return ln(s),s}(function(t,n){return C(t)&&!sn(t,n)})(i,t)&&(!function(t,n){if(U().type===A.EACH)return;c("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.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.'))}(i,t),u=F().current(),B((function(t){return t.splice(u),t})),i=null);var f=S(i,t);return ln(f),f}function ln(t){var n=D();B((function(e){return o.setValueAtPath(e,n,t)}))}function dn(t){var n=F();if(en(t))return t.skip(),fn(t),n.next(),t;var e,r,u=fn(t);return un()||Et(t.fieldName)?(u.omit(),n.next(),u):Yt(t)?(u.skip(qt()),n.next(),u):((r=t)!==(e=u)&&sn(e,r)&&e.isPending()&&e.cancel(),ln(t),function(t){t.isUntested()?cn(t):T(t.asyncTest)&&(t.setPending(),an(t))}(t),n.next(),t)}function pn(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=l(n[1])?n:on([void 0],n,!0),i=u[0],o=u[1],s=u[2];f(r(t),En("fieldName","string")),f(l(o),En("Test callback","function"));var a=L.useX(),c=new Q(t,o,{message:i,groupName:a.groupName,key:s});return dn(c)}Vt.group=function(t){return Jt(0,"groups",t)},jt.group=function(t){return Jt(1,"groups",t)};var vn=n(pn,{memo:function(t){var n=u(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];var i=F().current(),o=r.reverse(),s=o[0],a=o[1],c=o[2],f=[W(),e,i].concat(s),l=n.get(f);return I(l)?n(f,(function(){return t(e,c,a)})):l[1].isCanceled()?(n.invalidate(f),n(f,(function(){return t(e,c,a)}))):dn(l[1])}}(pn)});function En(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}function mn(){var t=L.useX("warn hook called outside of a running suite.");f(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}var Nn="4.6.8";export{Nn as VERSION,L as context,Kt as create,Bt as each,nn as eager,Zt as group,tn as include,rn as omitWhen,Vt as only,vt as optional,jt as skip,Mt as skipWhen,Tt as suiteSelectors,vn as test,mn as warn};
|
|
1
|
+
export{enforce}from"n4s";import{createState as t}from"vast";import{assign as n,isUndefined as e,isStringValue as r,cache as u,asArray as i,nestedArray as o,seq as s,isNullish as a,deferThrow as c,invariant as f,isFunction as l,bindNot as d,either as p,isArray as v,optionalFunctionValue as E,isEmpty as m,isPositive as N,numberEquals as h,hasOwnProperty as g,callEach as y,bus as R,defaultTo as S,isPromise as T,isNotEmpty as C,isNull as I}from"vest-utils";import{createCascade as _}from"context";var A,O;function k(t,n){var e=n.suiteId,r=n.suiteName;return{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(r),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function b(t,n){return void 0===n&&(n=[]),{cursor:(e={value:0},{current:function(){return e.value},next:function(){e.value++}}),keys:{current:{},prev:{}},path:n,type:t};var e}!function(t){t[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"}(A||(A={})),function(t){t[t.ALL=0]="ALL",t[t.EAGER=1]="EAGER"}(O||(O={}));var L=_((function(t,e){return e?null:n({exclusion:{tests:{},groups:{}},inclusion:{},isolate:b(A.DEFAULT),mode:[O.ALL]},t)}));function U(){return L.useX().isolate}function D(){var t=U();return t.path.concat(t.cursor.current())}function F(){return U().cursor}function P(){return L.useX().stateRef}function W(){return P().suiteId()[0]}function G(){return P().testCallbacks()}function w(){return P().optionalFields()}function x(t,e){(0,w()[1])((function(r){var u;return n(r,((u={})[t]=n({},r[t],e(r[t])),u))}))}function X(t){var n;return null!==(n=w()[0][t])&&void 0!==n?n:{}}function H(){return P().testObjects()}function K(){B((function(t){return t}))}function B(t){(0,H()[1])((function(n){var e=n.current;return{prev:n.prev,current:i(t(e))}}))}function M(){return j().filter((function(t){return t.isPending()}))}var q,V=u();function j(){var t=H()[0].current;return V([t],(function(){return o.flatten(t)}))}function Y(t){j().forEach(t)}!function(t){t.Error="error",t.Warning="warning"}(q||(q={}));var J,z,Q=function(){function t(t,n,e){var r=void 0===e?{}:e,u=r.message,i=r.groupName,o=r.key;this.key=null,this.id=s(),this.severity=q.Error,this.status=Z,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),u&&(this.message=u),o&&(this.key=o)}return t.prototype.run=function(){var t;try{t=this.testFn()}catch(n){(function(t,n){return e(t)&&r(n)})(this.message,n)&&(this.message=n),t=!1}return!1===t&&this.fail(),t},t.prototype.setStatus=function(t){this.isFinalStatus()&&t!==it||(this.status=t)},t.prototype.warns=function(){return this.severity===q.Warning},t.prototype.setPending=function(){this.setStatus(rt)},t.prototype.fail=function(){this.setStatus(this.warns()?nt:tt)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(et)},t.prototype.warn=function(){this.severity=q.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(ut),K()},t.prototype.reset=function(){this.status=Z,K()},t.prototype.omit=function(){this.setStatus(it)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.isPending=function(){return this.statusEquals(rt)},t.prototype.isOmitted=function(){return this.statusEquals(it)},t.prototype.isUntested=function(){return this.statusEquals(Z)},t.prototype.isFailing=function(){return this.statusEquals(tt)},t.prototype.isCanceled=function(){return this.statusEquals(ut)},t.prototype.isSkipped=function(){return this.statusEquals($)},t.prototype.isPassing=function(){return this.statusEquals(et)},t.prototype.isWarning=function(){return this.statusEquals(nt)},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}(),Z="UNTESTED",$="SKIPPED",tt="FAILED",nt="WARNING",et="PASSING",rt="PENDING",ut="CANCELED",it="OMITTED";function ot(t,n){var e=t.type,r=void 0===e?A.DEFAULT:e;f(l(n));var u=b(r,D()),s=L.run({isolate:u},(function(){var t;return u.keys.prev=(t=H()[0].prev,i(o.getCurrent(t,D())).reduce((function(t,n){return n instanceof Q?(a(n.key)||(t[n.key]=n),t):t}),{})),B((function(t){return o.setValueAtPath(t,u.path,[])})),n()}));return F().next(),s}function st(t){return t===J.ERRORS?z.ERROR_COUNT:z.WARN_COUNT}function at(t,n){return!!n&&!ct(t,n)}function ct(t,n){return!(!n||t.fieldName!==n)}!function(t){t.WARNINGS="warnings",t.ERRORS="errors"}(J||(J={})),function(t){t.ERROR_COUNT="errorCount",t.WARN_COUNT="warnCount"}(z||(z={}));var ft,lt=d((function(t,n){return t.groupName===n}));function dt(t){return function(t,n){return j().some((function(e){return pt(e,t,n)}))}(J.ERRORS,t)}function pt(t,n,e){return!!t.hasFailures()&&(!at(t,e)&&!function(t,n){return p(t===J.WARNINGS,n.warns())}(n,t))}function vt(t){if(v(t)||r(t))i(t).forEach((function(t){x(t,(function(){return{type:ft.Delayed,applied:!1,rule:null}}))}));else{var n=function(n){var e=t[n];x(n,(function(){return{type:ft.Immediate,rule:e,applied:E(e)}}))};for(var e in t)n(e)}}function Et(t){return!!t&&X(t).applied}function mt(t){if(Et(t))return!0;var n=j();return!m(n)&&(!dt(t)&&(!function(t){return M().some((function(n){return ht(n,t)}))}(t)&&function(t){return j().every((function(n){return gt(n,t)}))}(t)))}function Nt(t,n){return!!Et(n)||!function(t,n,e){return j().some((function(r){return!lt(r,n)&&pt(r,t,e)}))}(J.ERRORS,t,n)&&(!function(t,n){return M().some((function(e){return!lt(e,t)&&ht(e,n)}))}(t,n)&&function(t,n){return j().every((function(e){return!!lt(e,t)||gt(e,n)}))}(t,n))}function ht(t,n){return!at(t,n)&&Et(n)}function gt(t,n){return!!at(t,n)||(function(t){return X(t.fieldName).type===ft.Delayed&&t.awaitsResolution()}(t)||t.isTested()||t.isOmitted())}function yt(){var t=j(),e=n({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return t.reduce((function(t,n){return function(t,n){t[n.fieldName]=Rt(t,n),t[n.fieldName].valid=!1!==t[n.fieldName].valid&&mt(n.fieldName)}(t.tests,n),function(t,n){var e=n.groupName;if(!e)return;t[e]=t[e]||{},t[e][n.fieldName]=Rt(t[e],n),t[e][n.fieldName].valid=!1!==t[e][n.fieldName].valid&&Nt(e,n.fieldName)}(t.groups,n),t}),e),e.valid=mt(),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}(e)}function Rt(t,e){var r=e.fieldName,u=e.message;t[r]=t[r]||n({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var i=t[r];return e.isNonActionable()||(t[r].testCount++,e.isFailing()?o(J.ERRORS):e.isWarning()&&o(J.WARNINGS)),i;function o(t){var n=st(t);i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}}function St(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=st(n);for(var u in t)N(t[u][r])&&(e[u]=t[u][n]||[]);return e}(t,n)}function Tt(t){var n={getErrors:function(n){return Ct(t,J.ERRORS,n)},getErrorsByGroup:function(n,e){return It(t,J.ERRORS,n,e)},getWarnings:function(n){return Ct(t,J.WARNINGS,n)},getWarningsByGroup:function(n,e){return It(t,J.WARNINGS,n,e)},hasErrors:function(n){return Ot(t,z.ERROR_COUNT,n)},hasErrorsByGroup:function(n,e){return At(t,z.ERROR_COUNT,n,e)},hasWarnings:function(n){return Ot(t,z.WARN_COUNT,n)},hasWarningsByGroup:function(n,e){return At(t,z.WARN_COUNT,n,e)},isValid:function(n){var e;return n?Boolean(null===(e=t.tests[n])||void 0===e?void 0:e.valid):t.valid},isValidByGroup:function(n,e){var r=t.groups[n];if(!r)return!1;if(e)return _t(r,e);for(var u in r)if(!_t(r,u))return!1;return!0}};return n}function Ct(t,n,e){return St(t.tests,n,e)}function It(t,n,e,r){return St(t.groups[e],n,r)}function _t(t,n){var e;return!!(null===(e=t[n])||void 0===e?void 0:e.valid)}function At(t,n,e,r){var u,i,o=t.groups[e];if(!o)return!1;if(r)return N(null===(u=o[r])||void 0===u?void 0:u[n]);for(var s in o)if(N(null===(i=o[s])||void 0===i?void 0:i[n]))return!0;return!1}function Ot(t,n,e){var r,u=e?null===(r=t.tests[e])||void 0===r?void 0:r[n]:t[n]||0;return N(u)}!function(t){t[t.Immediate=0]="Immediate",t[t.Delayed=1]="Delayed"}(ft||(ft={}));var kt=u(1);function bt(){var t=j(),e={stateRef:P()};return kt([t],L.bind(e,(function(){var t=yt(),e=P().suiteName()[0];return n(t,Tt(t),{suiteName:e})})))}function Lt(t){var n=M();return!m(n)&&(!t||n.some((function(n){return ct(n,t)})))}var Ut=u(20);function Dt(){var t=j(),e={stateRef:P()};return Ut([t],L.bind(e,(function(){return n({},bt(),{done:L.bind(e,Gt)})})))}function Ft(t,n,e){var r;return!!(!l(t)||n&&h(null===(r=e.tests[n])||void 0===r?void 0:r.testCount,0))}function Pt(t){return!(Lt()&&(!t||Lt(t)))}var Wt,Gt=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var e=t.reverse(),r=e[0],u=e[1],i=Dt();if(Ft(r,u,i))return i;var o=function(){return r(bt())};return Pt(u)?(o(),i):(wt(o,u),i)};function wt(t,n){(0,G()[1])((function(e){return n?e.fieldCallbacks[n]=(e.fieldCallbacks[n]||[]).concat(t):e.doneCallbacks.push(t),e}))}function xt(){var t=w()[0];if(!m(t)){var n={};j().forEach((function(t){g(n,t.fieldName)?e(t):function(t){var r=X(t.fieldName);r.type===ft.Immediate&&(n[t.fieldName]=E(r.rule),e(t))}(t)})),K()}function e(t){n[t.fieldName]&&(t.omit(),x(t.fieldName,(function(){return{applied:!0}})))}}function Xt(){var t=R.createBus();return t.on(Wt.TEST_COMPLETED,(function(n){var e,r;n.isCanceled()||(n.done(),e=n.fieldName,r=G()[0].fieldCallbacks,e&&!Lt(e)&&v(r[e])&&y(r[e]),Lt()||t.emit(Wt.ALL_RUNNING_TESTS_FINISHED))})),t.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){xt()})),t.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){var t;t=G()[0].doneCallbacks,y(t)})),t.on(Wt.REMOVE_FIELD,(function(t){Y((function(n){ct(n,t)&&(n.cancel(),function(t){B((function(n){return o.transform(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(Wt.RESET_FIELD,(function(t){Y((function(n){ct(n,t)&&n.reset()}))})),t}function Ht(){var t=L.useX();return f(t.bus),t.bus}function Kt(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var u=e.reverse(),i=u[0],o=u[1];f(l(i),"vest.create: Expected callback to be a function.");var a=Xt(),c=t(),d=k(c,{suiteId:s(),suiteName:o}),p={stateRef:d,bus:a},v=n(L.bind(p,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return c.reset(),ot({type:A.SUITE},(function(){i.apply(void 0,t)})),a.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),Dt()})),{get:L.bind(p,bt),remove:L.bind(p,(function(t){a.emit(Wt.REMOVE_FIELD,t)})),reset:c.reset,resetField:L.bind(p,(function(t){a.emit(Wt.RESET_FIELD,t)}))});return v}function Bt(t,n){f(l(n),"each callback must be a function"),ot({type:A.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}!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"}(Wt||(Wt={}));function Mt(t,n){ot({type:A.SKIP_WHEN},(function(){L.run({skipped:qt()||E(t,E(bt))},(function(){return n()}))}))}function qt(){return!!L.useX().skipped}function Vt(t){return Jt(0,"tests",t)}function jt(t){return Jt(1,"tests",t)}function Yt(t){var n=t.fieldName,e=t.groupName;if(qt())return!0;var r=L.useX(),u=r.exclusion,i=r.inclusion,o=u.tests,s=o[n];if(!1===s)return!0;var a=!0===s;if(e){if(function(t){var n=L.useX().exclusion.groups;if(g(n,t))return!1===n[t];return Qt()}(e))return!0;if(!0===u.groups[e])return!a&&(!!zt(o)||!1===o[n])}return!!function(t){if(!Qt())return!1;return!t}(e)||!a&&(!!zt(o)&&!E(i[n]))}function Jt(t,n,e){var u=L.useX("hook called outside of a running suite.");e&&i(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function zt(t){for(var n in t)if(!0===t[n])return!0;return!1}function Qt(){var t=L.useX().exclusion;for(var n in t.groups)if(t.groups[n])return!0;return!1}function Zt(t,n){f(r(t),$t("name must be a string")),f(l(n),$t("callback must be a function")),ot({type:A.GROUP},(function(){L.run({groupName:t},n)}))}function $t(t){return"Wrong arguments passed to group. Group ".concat(t,".")}function tn(t){var n=L.useX(),e=n.inclusion,u=n.exclusion;return f(r(t)),e[t]=S(u.tests[t],!0),{when:function(n){var e=L.useX(),u=e.inclusion,i=e.exclusion;u[t]=function(){return g(i.tests,t)?S(i.tests[t],!0):r(n)?Boolean(i.tests[n]):E(n,E(bt))}}}}function nn(){var t;t=O.EAGER,L.useX().mode[0]=t}function en(t){return n=O.EAGER,L.useX().mode[0]===n&&dt(t.fieldName);var n}function rn(t,n){ot({type:A.OMIT_WHEN},(function(){L.run({omitted:un()||E(t,E(bt))},(function(){return n()}))}))}function un(){return!!L.useX().omitted}function on(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 sn(t,n){return t.fieldName===n.fieldName&&t.groupName===n.groupName}function an(t){var n=t.asyncTest,e=t.message;if(T(n)){var u=Ht().emit,i=P(),o=L.bind({stateRef:i},(function(){K(),u(Wt.TEST_COMPLETED,t)})),s=L.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));n.then(o,s)}}function cn(t){var n=Ht(),e=function(t){return L.run({currentTest:t},(function(){return t.run()}))}(t);try{T(e)?(t.asyncTest=e,t.setPending(),an(t)):n.emit(Wt.TEST_COMPLETED,t)}catch(n){throw new Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}function fn(t){var n=H()[0].prev;if(m(n))return ln(t),t;var e,r,u,i=(e=n,r=D(),o.valueAtPath(e,r));if(!a(t.key)){var s=function(t,n){var e=function(t){return U().keys.prev[t]}(t),r=n;e&&(r=e);return function(t,n){var e=U().keys.current;a(e[t])?e[t]=n:c('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,r),r}(t.key,t);return ln(s),s}(function(t,n){return C(t)&&!sn(t,n)})(i,t)&&(!function(t,n){if(U().type===A.EACH)return;c("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(t.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.'))}(i,t),u=F().current(),B((function(t){return t.splice(u),t})),i=null);var f=S(i,t);return ln(f),f}function ln(t){var n=D();B((function(e){return o.setValueAtPath(e,n,t)}))}function dn(t){var n=F();if(en(t))return t.skip(),fn(t),n.next(),t;var e,r,u=fn(t);return un()||Et(t.fieldName)?(u.omit(),n.next(),u):Yt(t)?(u.skip(qt()),n.next(),u):((r=t)!==(e=u)&&sn(e,r)&&e.isPending()&&e.cancel(),ln(t),function(t){t.isUntested()?cn(t):T(t.asyncTest)&&(t.setPending(),an(t))}(t),n.next(),t)}function pn(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var u=l(n[1])?n:on([void 0],n,!0),i=u[0],o=u[1],s=u[2];f(r(t),En("fieldName","string")),f(l(o),En("Test callback","function"));var a=L.useX(),c=new Q(t,o,{message:i,groupName:a.groupName,key:s});return dn(c)}Vt.group=function(t){return Jt(0,"groups",t)},jt.group=function(t){return Jt(1,"groups",t)};var vn=n(pn,{memo:function(t){var n=u(10);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];var i=F().current(),o=r.reverse(),s=o[0],a=o[1],c=o[2],f=[W(),e,i].concat(s),l=n.get(f);return I(l)?n(f,(function(){return t(e,c,a)})):l[1].isCanceled()?(n.invalidate(f),n(f,(function(){return t(e,c,a)}))):dn(l[1])}}(pn)});function En(t,n){return"Incompatible params passed to test function. ".concat(t," must be a ").concat(n)}function mn(){var t=L.useX("warn hook called outside of a running suite.");f(t.currentTest,"warn called outside of a test."),t.currentTest.warn()}var Nn="4.6.9";export{Nn as VERSION,L as context,Kt as create,Bt as each,nn as eager,Zt as group,tn as include,rn as omitWhen,Vt as only,vt as optional,jt as skip,Mt as skipWhen,Tt as suiteSelectors,vn as test,mn as warn};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("n4s"),require("vast"),require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","n4s","vast","vest-utils","context"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={},n.n4s,n.vast,n["vest-utils"],n.context)}(this,(function(n,t,e,r,i){"use strict";var u,o;function s(n,t){var e=t.suiteId,r=t.suiteName;return{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(r),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function a(n,t){return void 0===t&&(t=[]),{cursor:(e={value:0},{current:function(){return e.value},next:function(){e.value++}}),keys:{current:{},prev:{}},path:t,type:n};var e}!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"}(u||(u={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(o||(o={}));var c=i.createCascade((function(n,t){return t?null:r.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:a(u.DEFAULT),mode:[o.ALL]},n)}));function f(){return c.useX().isolate}function l(){var n=f();return n.path.concat(n.cursor.current())}function d(){return f().cursor}function p(){return c.useX().stateRef}function v(){return p().suiteId()[0]}function E(){return p().testCallbacks()}function h(){return p().optionalFields()}function g(n,t){(0,h()[1])((function(e){var i;return r.assign(e,((i={})[n]=r.assign({},e[n],t(e[n])),i))}))}function y(n){var t;return null!==(t=h()[0][n])&&void 0!==t?t:{}}function m(){return p().testObjects()}function N(){R((function(n){return n}))}function R(n){(0,m()[1])((function(t){var e=t.current;return{prev:t.prev,current:r.asArray(n(e))}}))}function S(){return A().filter((function(n){return n.isPending()}))}var T,C=r.cache();function A(){var n=m()[0].current;return C([n],(function(){return r.nestedArray.flatten(n)}))}function _(n){A().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(T||(T={}));var I,O,b=function(){function n(n,t,e){var i=void 0===e?{}:e,u=i.message,o=i.groupName,s=i.key;this.key=null,this.id=r.seq(),this.severity=T.Error,this.status=F,this.fieldName=n,this.testFn=t,o&&(this.groupName=o),u&&(this.message=u),s&&(this.key=s)}return n.prototype.run=function(){var n;try{n=this.testFn()}catch(t){(function(n,t){return r.isUndefined(n)&&r.isStringValue(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==w||(this.status=n)},n.prototype.warns=function(){return this.severity===T.Warning},n.prototype.setPending=function(){this.setStatus(D)},n.prototype.fail=function(){this.setStatus(this.warns()?L:P)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},n.prototype.warn=function(){this.severity=T.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(W),N()},n.prototype.reset=function(){this.status=F,N()},n.prototype.omit=function(){this.setStatus(w)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.isPending=function(){return this.statusEquals(D)},n.prototype.isOmitted=function(){return this.statusEquals(w)},n.prototype.isUntested=function(){return this.statusEquals(F)},n.prototype.isFailing=function(){return this.statusEquals(P)},n.prototype.isCanceled=function(){return this.statusEquals(W)},n.prototype.isSkipped=function(){return this.statusEquals(k)},n.prototype.isPassing=function(){return this.statusEquals(U)},n.prototype.isWarning=function(){return this.statusEquals(L)},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}(),F="UNTESTED",k="SKIPPED",P="FAILED",L="WARNING",U="PASSING",D="PENDING",W="CANCELED",w="OMITTED";function G(n,t){var e=n.type,i=void 0===e?u.DEFAULT:e;r.invariant(r.isFunction(t));var o=a(i,l()),s=c.run({isolate:o},(function(){var n;return o.keys.prev=(n=m()[0].prev,r.asArray(r.nestedArray.getCurrent(n,l())).reduce((function(n,t){return t instanceof b?(r.isNullish(t.key)||(n[t.key]=t),n):n}),{})),R((function(n){return r.nestedArray.setValueAtPath(n,o.path,[])})),t()}));return d().next(),s}function V(n){return n===I.ERRORS?O.ERROR_COUNT:O.WARN_COUNT}function x(n,t){return!!t&&!q(n,t)}function q(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(I||(I={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(O||(O={}));var X,H=r.bindNot((function(n,t){return n.groupName===t}));function K(n){return function(n,t){return A().some((function(e){return M(e,n,t)}))}(I.ERRORS,n)}function M(n,t,e){return!!n.hasFailures()&&(!x(n,e)&&!function(n,t){return r.either(n===I.WARNINGS,t.warns())}(t,n))}function B(n){return!!n&&y(n).applied}function j(n){if(B(n))return!0;var t=A();return!r.isEmpty(t)&&(!K(n)&&(!function(n){return S().some((function(t){return J(t,n)}))}(n)&&function(n){return A().every((function(t){return z(t,n)}))}(n)))}function Y(n,t){return!!B(t)||!function(n,t,e){return A().some((function(r){return!H(r,t)&&M(r,n,e)}))}(I.ERRORS,n,t)&&(!function(n,t){return S().some((function(e){return!H(e,n)&&J(e,t)}))}(n,t)&&function(n,t){return A().every((function(e){return!!H(e,n)||z(e,t)}))}(n,t))}function J(n,t){return!x(n,t)&&B(t)}function z(n,t){return!!x(n,t)||(function(n){return y(n.fieldName).type===X.Delayed&&n.awaitsResolution()}(n)||n.isTested()||n.isOmitted())}function Q(){var n=A(),t=r.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=Z(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&j(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;if(!e)return;n[e]=n[e]||{},n[e][t.fieldName]=Z(n[e],t),n[e][t.fieldName].valid=!1!==n[e][t.fieldName].valid&&Y(e,t.fieldName)}(n.groups,t),n}),t),t.valid=j(),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 Z(n,t){var e=t.fieldName,i=t.message;n[e]=n[e]||r.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var u=n[e];return t.isNonActionable()||(n[e].testCount++,t.isFailing()?o(I.ERRORS):t.isWarning()&&o(I.WARNINGS)),u;function o(n){var t=V(n);u[t]++,i&&(u[n]=(u[n]||[]).concat(i))}}function $(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={},i=V(t);for(var u in n)r.isPositive(n[u][i])&&(e[u]=n[u][t]||[]);return e}(n,t)}function nn(n){var t={getErrors:function(t){return tn(n,I.ERRORS,t)},getErrorsByGroup:function(t,e){return en(n,I.ERRORS,t,e)},getWarnings:function(t){return tn(n,I.WARNINGS,t)},getWarningsByGroup:function(t,e){return en(n,I.WARNINGS,t,e)},hasErrors:function(t){return on(n,O.ERROR_COUNT,t)},hasErrorsByGroup:function(t,e){return un(n,O.ERROR_COUNT,t,e)},hasWarnings:function(t){return on(n,O.WARN_COUNT,t)},hasWarningsByGroup:function(t,e){return un(n,O.WARN_COUNT,t,e)},isValid:function(t){var e;return t?Boolean(null===(e=n.tests[t])||void 0===e?void 0:e.valid):n.valid},isValidByGroup:function(t,e){var r=n.groups[t];if(!r)return!1;if(e)return rn(r,e);for(var i in r)if(!rn(r,i))return!1;return!0}};return t}function tn(n,t,e){return $(n.tests,t,e)}function en(n,t,e,r){return $(n.groups[e],t,r)}function rn(n,t){var e;return!!(null===(e=n[t])||void 0===e?void 0:e.valid)}function un(n,t,e,i){var u,o,s=n.groups[e];if(!s)return!1;if(i)return r.isPositive(null===(u=s[i])||void 0===u?void 0:u[t]);for(var a in s)if(r.isPositive(null===(o=s[a])||void 0===o?void 0:o[t]))return!0;return!1}function on(n,t,e){var i,u=e?null===(i=n.tests[e])||void 0===i?void 0:i[t]:n[t]||0;return r.isPositive(u)}!function(n){n[n.Immediate=0]="Immediate",n[n.Delayed=1]="Delayed"}(X||(X={}));var sn=r.cache(1);function an(){var n=A(),t={stateRef:p()};return sn([n],c.bind(t,(function(){var n=Q(),t=p().suiteName()[0];return r.assign(n,nn(n),{suiteName:t})})))}function cn(n){var t=S();return!r.isEmpty(t)&&(!n||t.some((function(t){return q(t,n)})))}var fn=r.cache(20);function ln(){var n=A(),t={stateRef:p()};return fn([n],c.bind(t,(function(){return r.assign({},an(),{done:c.bind(t,En)})})))}function dn(n,t,e){var i;return!!(!r.isFunction(n)||t&&r.numberEquals(null===(i=e.tests[t])||void 0===i?void 0:i.testCount,0))}function pn(n){return!(cn()&&(!n||cn(n)))}var vn,En=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=n.reverse(),r=e[0],i=e[1],u=ln();if(dn(r,i,u))return u;var o=function(){return r(an())};return pn(i)?(o(),u):(hn(o,i),u)};function hn(n,t){(0,E()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function gn(){var n=h()[0];if(!r.isEmpty(n)){var t={};A().forEach((function(n){r.hasOwnProperty(t,n.fieldName)?e(n):function(n){var i=y(n.fieldName);i.type===X.Immediate&&(t[n.fieldName]=r.optionalFunctionValue(i.rule),e(n))}(n)})),N()}function e(n){t[n.fieldName]&&(n.omit(),g(n.fieldName,(function(){return{applied:!0}})))}}function yn(){var n=r.bus.createBus();return n.on(vn.TEST_COMPLETED,(function(t){var e,i;t.isCanceled()||(t.done(),e=t.fieldName,i=E()[0].fieldCallbacks,e&&!cn(e)&&r.isArray(i[e])&&r.callEach(i[e]),cn()||n.emit(vn.ALL_RUNNING_TESTS_FINISHED))})),n.on(vn.SUITE_CALLBACK_DONE_RUNNING,(function(){gn()})),n.on(vn.ALL_RUNNING_TESTS_FINISHED,(function(){var n;n=E()[0].doneCallbacks,r.callEach(n)})),n.on(vn.REMOVE_FIELD,(function(n){_((function(t){q(t,n)&&(t.cancel(),function(n){R((function(t){return r.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(vn.RESET_FIELD,(function(n){_((function(t){q(t,n)&&t.reset()}))})),n}function mn(){var n=c.useX();return r.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"}(vn||(vn={}));var Nn="hook called outside of a running suite.";function Rn(){return!!c.useX().skipped}function Sn(n){return An(0,"tests",n)}function Tn(n){return An(1,"tests",n)}function Cn(n){var t=n.fieldName,e=n.groupName;if(Rn())return!0;var i=c.useX(),u=i.exclusion,o=i.inclusion,s=u.tests,a=s[t];if(!1===a)return!0;var f=!0===a;if(e){if(function(n){var t=c.useX().exclusion.groups;if(r.hasOwnProperty(t,n))return!1===t[n];return In()}(e))return!0;if(!0===u.groups[e])return!f&&(!!_n(s)||!1===s[t])}return!!function(n){if(!In())return!1;return!n}(e)||!f&&(!!_n(s)&&!r.optionalFunctionValue(o[t]))}function An(n,t,e){var i=c.useX(Nn);e&&r.asArray(e).forEach((function(e){r.isStringValue(e)&&(i.exclusion[t][e]=0===n)}))}function _n(n){for(var t in n)if(!0===n[t])return!0;return!1}function In(){var n=c.useX().exclusion;for(var t in n.groups)if(n.groups[t])return!0;return!1}function On(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function bn(n){return t=o.EAGER,c.useX().mode[0]===t&&K(n.fieldName);var t}function Fn(){return!!c.useX().omitted}function kn(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 Pn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Ln(n){var t=n.asyncTest,e=n.message;if(r.isPromise(t)){var i=mn().emit,u=p(),o=c.bind({stateRef:u},(function(){N(),i(vn.TEST_COMPLETED,n)})),s=c.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=r.isStringValue(t)?t:e,n.fail(),o())}));t.then(o,s)}}function Un(n){var t=mn(),e=function(n){return c.run({currentTest:n},(function(){return n.run()}))}(n);try{r.isPromise(e)?(n.asyncTest=e,n.setPending(),Ln(n)):t.emit(vn.TEST_COMPLETED,n)}catch(t){throw new Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function Dn(n){var t=m()[0].prev;if(r.isEmpty(t))return Wn(n),n;var e,i,o,s=(e=t,i=l(),r.nestedArray.valueAtPath(e,i));if(!r.isNullish(n.key)){var a=function(n,t){var e=function(n){return f().keys.prev[n]}(n),i=t;e&&(i=e);return function(n,t){var e=f().keys.current;r.isNullish(e[n])?e[n]=t:r.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,i),i}(n.key,n);return Wn(a),a}(function(n,t){return r.isNotEmpty(n)&&!Pn(n,t)})(s,n)&&(!function(n,t){if(f().type===u.EACH)return;r.deferThrow("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.'))}(s,n),o=d().current(),R((function(n){return n.splice(o),n})),s=null);var c=r.defaultTo(s,n);return Wn(c),c}function Wn(n){var t=l();R((function(e){return r.nestedArray.setValueAtPath(e,t,n)}))}function wn(n){var t=d();if(bn(n))return n.skip(),Dn(n),t.next(),n;var e,i,u=Dn(n);return Fn()||B(n.fieldName)?(u.omit(),t.next(),u):Cn(n)?(u.skip(Rn()),t.next(),u):((i=n)!==(e=u)&&Pn(e,i)&&e.isPending()&&e.cancel(),Wn(n),function(n){n.isUntested()?Un(n):r.isPromise(n.asyncTest)&&(n.setPending(),Ln(n))}(n),t.next(),n)}function Gn(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var i=r.isFunction(t[1])?t:kn([void 0],t,!0),u=i[0],o=i[1],s=i[2];r.invariant(r.isStringValue(n),xn("fieldName","string")),r.invariant(r.isFunction(o),xn("Test callback","function"));var a=c.useX(),f=new b(n,o,{message:u,groupName:a.groupName,key:s});return wn(f)}Sn.group=function(n){return An(0,"groups",n)},Tn.group=function(n){return An(1,"groups",n)};var Vn=r.assign(Gn,{memo:function(n){var t=r.cache(10);return function(e){for(var i=[],u=1;u<arguments.length;u++)i[u-1]=arguments[u];var o=d().current(),s=i.reverse(),a=s[0],c=s[1],f=s[2],l=[v(),e,o].concat(a),p=t.get(l);return r.isNull(p)?t(l,(function(){return n(e,f,c)})):p[1].isCanceled()?(t.invalidate(l),t(l,(function(){return n(e,f,c)}))):wn(p[1])}}(Gn)});function xn(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(n,"enforce",{enumerable:!0,get:function(){return t.enforce}}),n.VERSION="4.6.8",n.context=c,n.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var i=n.reverse(),o=i[0],a=i[1];r.invariant(r.isFunction(o),"vest.create: Expected callback to be a function.");var f=yn(),l=e.createState(),d=s(l,{suiteId:r.seq(),suiteName:a}),p={stateRef:d,bus:f},v=r.assign(c.bind(p,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return l.reset(),G({type:u.SUITE},(function(){o.apply(void 0,n)})),f.emit(vn.SUITE_CALLBACK_DONE_RUNNING),ln()})),{get:c.bind(p,an),remove:c.bind(p,(function(n){f.emit(vn.REMOVE_FIELD,n)})),reset:l.reset,resetField:c.bind(p,(function(n){f.emit(vn.RESET_FIELD,n)}))});return v},n.each=function(n,t){r.invariant(r.isFunction(t),"each callback must be a function"),G({type:u.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},n.eager=function(){var n;n=o.EAGER,c.useX().mode[0]=n},n.group=function(n,t){r.invariant(r.isStringValue(n),On("name must be a string")),r.invariant(r.isFunction(t),On("callback must be a function")),G({type:u.GROUP},(function(){c.run({groupName:n},t)}))},n.include=function(n){var t=c.useX(),e=t.inclusion,i=t.exclusion;return r.invariant(r.isStringValue(n)),e[n]=r.defaultTo(i.tests[n],!0),{when:function(t){var e=c.useX(),i=e.inclusion,u=e.exclusion;i[n]=function(){return r.hasOwnProperty(u.tests,n)?r.defaultTo(u.tests[n],!0):r.isStringValue(t)?Boolean(u.tests[t]):r.optionalFunctionValue(t,r.optionalFunctionValue(an))}}}},n.omitWhen=function(n,t){G({type:u.OMIT_WHEN},(function(){c.run({omitted:Fn()||r.optionalFunctionValue(n,r.optionalFunctionValue(an))},(function(){return t()}))}))},n.only=Sn,n.optional=function(n){if(r.isArray(n)||r.isStringValue(n))r.asArray(n).forEach((function(n){g(n,(function(){return{type:X.Delayed,applied:!1,rule:null}}))}));else{var t=function(t){var e=n[t];g(t,(function(){return{type:X.Immediate,rule:e,applied:r.optionalFunctionValue(e)}}))};for(var e in n)t(e)}},n.skip=Tn,n.skipWhen=function(n,t){G({type:u.SKIP_WHEN},(function(){c.run({skipped:Rn()||r.optionalFunctionValue(n,r.optionalFunctionValue(an))},(function(){return t()}))}))},n.suiteSelectors=nn,n.test=Vn,n.warn=function(){var n=c.useX("warn "+Nn);r.invariant(n.currentTest,"warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("n4s"),require("vast"),require("vest-utils"),require("context")):"function"==typeof define&&define.amd?define(["exports","n4s","vast","vest-utils","context"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={},n.n4s,n.vast,n["vest-utils"],n.context)}(this,(function(n,t,e,r,i){"use strict";var u,o;function s(n,t){var e=t.suiteId,r=t.suiteName;return{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(r),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function a(n,t){return void 0===t&&(t=[]),{cursor:(e={value:0},{current:function(){return e.value},next:function(){e.value++}}),keys:{current:{},prev:{}},path:t,type:n};var e}!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"}(u||(u={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(o||(o={}));var c=i.createCascade((function(n,t){return t?null:r.assign({exclusion:{tests:{},groups:{}},inclusion:{},isolate:a(u.DEFAULT),mode:[o.ALL]},n)}));function f(){return c.useX().isolate}function l(){var n=f();return n.path.concat(n.cursor.current())}function d(){return f().cursor}function p(){return c.useX().stateRef}function v(){return p().suiteId()[0]}function E(){return p().testCallbacks()}function h(){return p().optionalFields()}function g(n,t){(0,h()[1])((function(e){var i;return r.assign(e,((i={})[n]=r.assign({},e[n],t(e[n])),i))}))}function y(n){var t;return null!==(t=h()[0][n])&&void 0!==t?t:{}}function m(){return p().testObjects()}function N(){R((function(n){return n}))}function R(n){(0,m()[1])((function(t){var e=t.current;return{prev:t.prev,current:r.asArray(n(e))}}))}function S(){return A().filter((function(n){return n.isPending()}))}var T,C=r.cache();function A(){var n=m()[0].current;return C([n],(function(){return r.nestedArray.flatten(n)}))}function _(n){A().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(T||(T={}));var I,O,b=function(){function n(n,t,e){var i=void 0===e?{}:e,u=i.message,o=i.groupName,s=i.key;this.key=null,this.id=r.seq(),this.severity=T.Error,this.status=F,this.fieldName=n,this.testFn=t,o&&(this.groupName=o),u&&(this.message=u),s&&(this.key=s)}return n.prototype.run=function(){var n;try{n=this.testFn()}catch(t){(function(n,t){return r.isUndefined(n)&&r.isStringValue(t)})(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==w||(this.status=n)},n.prototype.warns=function(){return this.severity===T.Warning},n.prototype.setPending=function(){this.setStatus(D)},n.prototype.fail=function(){this.setStatus(this.warns()?L:P)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(U)},n.prototype.warn=function(){this.severity=T.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(W),N()},n.prototype.reset=function(){this.status=F,N()},n.prototype.omit=function(){this.setStatus(w)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.isPending=function(){return this.statusEquals(D)},n.prototype.isOmitted=function(){return this.statusEquals(w)},n.prototype.isUntested=function(){return this.statusEquals(F)},n.prototype.isFailing=function(){return this.statusEquals(P)},n.prototype.isCanceled=function(){return this.statusEquals(W)},n.prototype.isSkipped=function(){return this.statusEquals(k)},n.prototype.isPassing=function(){return this.statusEquals(U)},n.prototype.isWarning=function(){return this.statusEquals(L)},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}(),F="UNTESTED",k="SKIPPED",P="FAILED",L="WARNING",U="PASSING",D="PENDING",W="CANCELED",w="OMITTED";function G(n,t){var e=n.type,i=void 0===e?u.DEFAULT:e;r.invariant(r.isFunction(t));var o=a(i,l()),s=c.run({isolate:o},(function(){var n;return o.keys.prev=(n=m()[0].prev,r.asArray(r.nestedArray.getCurrent(n,l())).reduce((function(n,t){return t instanceof b?(r.isNullish(t.key)||(n[t.key]=t),n):n}),{})),R((function(n){return r.nestedArray.setValueAtPath(n,o.path,[])})),t()}));return d().next(),s}function V(n){return n===I.ERRORS?O.ERROR_COUNT:O.WARN_COUNT}function x(n,t){return!!t&&!q(n,t)}function q(n,t){return!(!t||n.fieldName!==t)}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(I||(I={})),function(n){n.ERROR_COUNT="errorCount",n.WARN_COUNT="warnCount"}(O||(O={}));var X,H=r.bindNot((function(n,t){return n.groupName===t}));function K(n){return function(n,t){return A().some((function(e){return M(e,n,t)}))}(I.ERRORS,n)}function M(n,t,e){return!!n.hasFailures()&&(!x(n,e)&&!function(n,t){return r.either(n===I.WARNINGS,t.warns())}(t,n))}function B(n){return!!n&&y(n).applied}function j(n){if(B(n))return!0;var t=A();return!r.isEmpty(t)&&(!K(n)&&(!function(n){return S().some((function(t){return J(t,n)}))}(n)&&function(n){return A().every((function(t){return z(t,n)}))}(n)))}function Y(n,t){return!!B(t)||!function(n,t,e){return A().some((function(r){return!H(r,t)&&M(r,n,e)}))}(I.ERRORS,n,t)&&(!function(n,t){return S().some((function(e){return!H(e,n)&&J(e,t)}))}(n,t)&&function(n,t){return A().every((function(e){return!!H(e,n)||z(e,t)}))}(n,t))}function J(n,t){return!x(n,t)&&B(t)}function z(n,t){return!!x(n,t)||(function(n){return y(n.fieldName).type===X.Delayed&&n.awaitsResolution()}(n)||n.isTested()||n.isOmitted())}function Q(){var n=A(),t=r.assign({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{},valid:!1});return n.reduce((function(n,t){return function(n,t){n[t.fieldName]=Z(n,t),n[t.fieldName].valid=!1!==n[t.fieldName].valid&&j(t.fieldName)}(n.tests,t),function(n,t){var e=t.groupName;if(!e)return;n[e]=n[e]||{},n[e][t.fieldName]=Z(n[e],t),n[e][t.fieldName].valid=!1!==n[e][t.fieldName].valid&&Y(e,t.fieldName)}(n.groups,t),n}),t),t.valid=j(),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 Z(n,t){var e=t.fieldName,i=t.message;n[e]=n[e]||r.assign({errorCount:0,warnCount:0,testCount:0},{errors:[],warnings:[]});var u=n[e];return t.isNonActionable()||(n[e].testCount++,t.isFailing()?o(I.ERRORS):t.isWarning()&&o(I.WARNINGS)),u;function o(n){var t=V(n);u[t]++,i&&(u[n]=(u[n]||[]).concat(i))}}function $(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={},i=V(t);for(var u in n)r.isPositive(n[u][i])&&(e[u]=n[u][t]||[]);return e}(n,t)}function nn(n){var t={getErrors:function(t){return tn(n,I.ERRORS,t)},getErrorsByGroup:function(t,e){return en(n,I.ERRORS,t,e)},getWarnings:function(t){return tn(n,I.WARNINGS,t)},getWarningsByGroup:function(t,e){return en(n,I.WARNINGS,t,e)},hasErrors:function(t){return on(n,O.ERROR_COUNT,t)},hasErrorsByGroup:function(t,e){return un(n,O.ERROR_COUNT,t,e)},hasWarnings:function(t){return on(n,O.WARN_COUNT,t)},hasWarningsByGroup:function(t,e){return un(n,O.WARN_COUNT,t,e)},isValid:function(t){var e;return t?Boolean(null===(e=n.tests[t])||void 0===e?void 0:e.valid):n.valid},isValidByGroup:function(t,e){var r=n.groups[t];if(!r)return!1;if(e)return rn(r,e);for(var i in r)if(!rn(r,i))return!1;return!0}};return t}function tn(n,t,e){return $(n.tests,t,e)}function en(n,t,e,r){return $(n.groups[e],t,r)}function rn(n,t){var e;return!!(null===(e=n[t])||void 0===e?void 0:e.valid)}function un(n,t,e,i){var u,o,s=n.groups[e];if(!s)return!1;if(i)return r.isPositive(null===(u=s[i])||void 0===u?void 0:u[t]);for(var a in s)if(r.isPositive(null===(o=s[a])||void 0===o?void 0:o[t]))return!0;return!1}function on(n,t,e){var i,u=e?null===(i=n.tests[e])||void 0===i?void 0:i[t]:n[t]||0;return r.isPositive(u)}!function(n){n[n.Immediate=0]="Immediate",n[n.Delayed=1]="Delayed"}(X||(X={}));var sn=r.cache(1);function an(){var n=A(),t={stateRef:p()};return sn([n],c.bind(t,(function(){var n=Q(),t=p().suiteName()[0];return r.assign(n,nn(n),{suiteName:t})})))}function cn(n){var t=S();return!r.isEmpty(t)&&(!n||t.some((function(t){return q(t,n)})))}var fn=r.cache(20);function ln(){var n=A(),t={stateRef:p()};return fn([n],c.bind(t,(function(){return r.assign({},an(),{done:c.bind(t,En)})})))}function dn(n,t,e){var i;return!!(!r.isFunction(n)||t&&r.numberEquals(null===(i=e.tests[t])||void 0===i?void 0:i.testCount,0))}function pn(n){return!(cn()&&(!n||cn(n)))}var vn,En=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=n.reverse(),r=e[0],i=e[1],u=ln();if(dn(r,i,u))return u;var o=function(){return r(an())};return pn(i)?(o(),u):(hn(o,i),u)};function hn(n,t){(0,E()[1])((function(e){return t?e.fieldCallbacks[t]=(e.fieldCallbacks[t]||[]).concat(n):e.doneCallbacks.push(n),e}))}function gn(){var n=h()[0];if(!r.isEmpty(n)){var t={};A().forEach((function(n){r.hasOwnProperty(t,n.fieldName)?e(n):function(n){var i=y(n.fieldName);i.type===X.Immediate&&(t[n.fieldName]=r.optionalFunctionValue(i.rule),e(n))}(n)})),N()}function e(n){t[n.fieldName]&&(n.omit(),g(n.fieldName,(function(){return{applied:!0}})))}}function yn(){var n=r.bus.createBus();return n.on(vn.TEST_COMPLETED,(function(t){var e,i;t.isCanceled()||(t.done(),e=t.fieldName,i=E()[0].fieldCallbacks,e&&!cn(e)&&r.isArray(i[e])&&r.callEach(i[e]),cn()||n.emit(vn.ALL_RUNNING_TESTS_FINISHED))})),n.on(vn.SUITE_CALLBACK_DONE_RUNNING,(function(){gn()})),n.on(vn.ALL_RUNNING_TESTS_FINISHED,(function(){var n;n=E()[0].doneCallbacks,r.callEach(n)})),n.on(vn.REMOVE_FIELD,(function(n){_((function(t){q(t,n)&&(t.cancel(),function(n){R((function(t){return r.nestedArray.transform(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(vn.RESET_FIELD,(function(n){_((function(t){q(t,n)&&t.reset()}))})),n}function mn(){var n=c.useX();return r.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"}(vn||(vn={}));var Nn="hook called outside of a running suite.";function Rn(){return!!c.useX().skipped}function Sn(n){return An(0,"tests",n)}function Tn(n){return An(1,"tests",n)}function Cn(n){var t=n.fieldName,e=n.groupName;if(Rn())return!0;var i=c.useX(),u=i.exclusion,o=i.inclusion,s=u.tests,a=s[t];if(!1===a)return!0;var f=!0===a;if(e){if(function(n){var t=c.useX().exclusion.groups;if(r.hasOwnProperty(t,n))return!1===t[n];return In()}(e))return!0;if(!0===u.groups[e])return!f&&(!!_n(s)||!1===s[t])}return!!function(n){if(!In())return!1;return!n}(e)||!f&&(!!_n(s)&&!r.optionalFunctionValue(o[t]))}function An(n,t,e){var i=c.useX(Nn);e&&r.asArray(e).forEach((function(e){r.isStringValue(e)&&(i.exclusion[t][e]=0===n)}))}function _n(n){for(var t in n)if(!0===n[t])return!0;return!1}function In(){var n=c.useX().exclusion;for(var t in n.groups)if(n.groups[t])return!0;return!1}function On(n){return"Wrong arguments passed to group. Group ".concat(n,".")}function bn(n){return t=o.EAGER,c.useX().mode[0]===t&&K(n.fieldName);var t}function Fn(){return!!c.useX().omitted}function kn(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 Pn(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function Ln(n){var t=n.asyncTest,e=n.message;if(r.isPromise(t)){var i=mn().emit,u=p(),o=c.bind({stateRef:u},(function(){N(),i(vn.TEST_COMPLETED,n)})),s=c.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=r.isStringValue(t)?t:e,n.fail(),o())}));t.then(o,s)}}function Un(n){var t=mn(),e=function(n){return c.run({currentTest:n},(function(){return n.run()}))}(n);try{r.isPromise(e)?(n.asyncTest=e,n.setPending(),Ln(n)):t.emit(vn.TEST_COMPLETED,n)}catch(t){throw new Error("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function Dn(n){var t=m()[0].prev;if(r.isEmpty(t))return Wn(n),n;var e,i,o,s=(e=t,i=l(),r.nestedArray.valueAtPath(e,i));if(!r.isNullish(n.key)){var a=function(n,t){var e=function(n){return f().keys.prev[n]}(n),i=t;e&&(i=e);return function(n,t){var e=f().keys.current;r.isNullish(e[n])?e[n]=t:r.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,i),i}(n.key,n);return Wn(a),a}(function(n,t){return r.isNotEmpty(n)&&!Pn(n,t)})(s,n)&&(!function(n,t){if(f().type===u.EACH)return;r.deferThrow("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.'))}(s,n),o=d().current(),R((function(n){return n.splice(o),n})),s=null);var c=r.defaultTo(s,n);return Wn(c),c}function Wn(n){var t=l();R((function(e){return r.nestedArray.setValueAtPath(e,t,n)}))}function wn(n){var t=d();if(bn(n))return n.skip(),Dn(n),t.next(),n;var e,i,u=Dn(n);return Fn()||B(n.fieldName)?(u.omit(),t.next(),u):Cn(n)?(u.skip(Rn()),t.next(),u):((i=n)!==(e=u)&&Pn(e,i)&&e.isPending()&&e.cancel(),Wn(n),function(n){n.isUntested()?Un(n):r.isPromise(n.asyncTest)&&(n.setPending(),Ln(n))}(n),t.next(),n)}function Gn(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var i=r.isFunction(t[1])?t:kn([void 0],t,!0),u=i[0],o=i[1],s=i[2];r.invariant(r.isStringValue(n),xn("fieldName","string")),r.invariant(r.isFunction(o),xn("Test callback","function"));var a=c.useX(),f=new b(n,o,{message:u,groupName:a.groupName,key:s});return wn(f)}Sn.group=function(n){return An(0,"groups",n)},Tn.group=function(n){return An(1,"groups",n)};var Vn=r.assign(Gn,{memo:function(n){var t=r.cache(10);return function(e){for(var i=[],u=1;u<arguments.length;u++)i[u-1]=arguments[u];var o=d().current(),s=i.reverse(),a=s[0],c=s[1],f=s[2],l=[v(),e,o].concat(a),p=t.get(l);return r.isNull(p)?t(l,(function(){return n(e,f,c)})):p[1].isCanceled()?(t.invalidate(l),t(l,(function(){return n(e,f,c)}))):wn(p[1])}}(Gn)});function xn(n,t){return"Incompatible params passed to test function. ".concat(n," must be a ").concat(t)}Object.defineProperty(n,"enforce",{enumerable:!0,get:function(){return t.enforce}}),n.VERSION="4.6.9",n.context=c,n.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var i=n.reverse(),o=i[0],a=i[1];r.invariant(r.isFunction(o),"vest.create: Expected callback to be a function.");var f=yn(),l=e.createState(),d=s(l,{suiteId:r.seq(),suiteName:a}),p={stateRef:d,bus:f},v=r.assign(c.bind(p,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return l.reset(),G({type:u.SUITE},(function(){o.apply(void 0,n)})),f.emit(vn.SUITE_CALLBACK_DONE_RUNNING),ln()})),{get:c.bind(p,an),remove:c.bind(p,(function(n){f.emit(vn.REMOVE_FIELD,n)})),reset:l.reset,resetField:c.bind(p,(function(n){f.emit(vn.RESET_FIELD,n)}))});return v},n.each=function(n,t){r.invariant(r.isFunction(t),"each callback must be a function"),G({type:u.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},n.eager=function(){var n;n=o.EAGER,c.useX().mode[0]=n},n.group=function(n,t){r.invariant(r.isStringValue(n),On("name must be a string")),r.invariant(r.isFunction(t),On("callback must be a function")),G({type:u.GROUP},(function(){c.run({groupName:n},t)}))},n.include=function(n){var t=c.useX(),e=t.inclusion,i=t.exclusion;return r.invariant(r.isStringValue(n)),e[n]=r.defaultTo(i.tests[n],!0),{when:function(t){var e=c.useX(),i=e.inclusion,u=e.exclusion;i[n]=function(){return r.hasOwnProperty(u.tests,n)?r.defaultTo(u.tests[n],!0):r.isStringValue(t)?Boolean(u.tests[t]):r.optionalFunctionValue(t,r.optionalFunctionValue(an))}}}},n.omitWhen=function(n,t){G({type:u.OMIT_WHEN},(function(){c.run({omitted:Fn()||r.optionalFunctionValue(n,r.optionalFunctionValue(an))},(function(){return t()}))}))},n.only=Sn,n.optional=function(n){if(r.isArray(n)||r.isStringValue(n))r.asArray(n).forEach((function(n){g(n,(function(){return{type:X.Delayed,applied:!1,rule:null}}))}));else{var t=function(t){var e=n[t];g(t,(function(){return{type:X.Immediate,rule:e,applied:r.optionalFunctionValue(e)}}))};for(var e in n)t(e)}},n.skip=Tn,n.skipWhen=function(n,t){G({type:u.SKIP_WHEN},(function(){c.run({skipped:Rn()||r.optionalFunctionValue(n,r.optionalFunctionValue(an))},(function(){return t()}))}))},n.suiteSelectors=nn,n.test=Vn,n.warn=function(){var n=c.useX("warn "+Nn);r.invariant(n.currentTest,"warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.6.
|
|
2
|
+
"version": "4.6.9",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "vest",
|
|
5
5
|
"author": "ealush",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"url": "https://github.com/ealush/vest.git/issues"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"context": "^3.0.
|
|
37
|
-
"n4s": "^4.3.
|
|
38
|
-
"vast": "^1.0.
|
|
39
|
-
"vest-utils": "^0.0
|
|
36
|
+
"context": "^3.0.5",
|
|
37
|
+
"n4s": "^4.3.5",
|
|
38
|
+
"vast": "^1.0.15",
|
|
39
|
+
"vest-utils": "^0.1.0"
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://vestjs.dev/",
|
|
42
42
|
"exports": {
|
package/types/vest.d.ts
CHANGED
|
@@ -334,7 +334,7 @@ declare const test: typeof testBase & {
|
|
|
334
334
|
* Sets a running test to warn only mode.
|
|
335
335
|
*/
|
|
336
336
|
declare function warn(): void;
|
|
337
|
-
declare const VERSION = "4.6.
|
|
337
|
+
declare const VERSION = "4.6.9";
|
|
338
338
|
export { suiteSelectors, test, create, each, only, skip, warn, group, optional, skipWhen, omitWhen, enforce, VERSION, context, include, eager };
|
|
339
339
|
export type { SuiteResult, SuiteRunResult, SuiteSummary, VestTest, Suite };
|
|
340
340
|
//# sourceMappingURL=vest.d.ts.map
|