vest 4.2.1 → 4.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/vest.development.js +4 -3
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/vest.development.js +4 -3
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/vest.development.js +4 -3
- package/dist/umd/vest.production.js +1 -1
- package/package.json +1 -1
- package/types/vest.d.ts +1 -1
|
@@ -1763,12 +1763,13 @@ function handleKeyTest(key, newTestObject) {
|
|
|
1763
1763
|
|
|
1764
1764
|
// eslint-disable-next-line max-statements
|
|
1765
1765
|
function registerPrevRunTest(testObject) {
|
|
1766
|
-
var prevRunTest = useTestAtCursor(testObject);
|
|
1767
1766
|
if (shouldSkipBasedOnMode(testObject)) {
|
|
1768
|
-
moveForward();
|
|
1769
1767
|
testObject.skip();
|
|
1768
|
+
useTestAtCursor(testObject);
|
|
1769
|
+
moveForward();
|
|
1770
1770
|
return testObject;
|
|
1771
1771
|
}
|
|
1772
|
+
var prevRunTest = useTestAtCursor(testObject);
|
|
1772
1773
|
if (isOmitted()) {
|
|
1773
1774
|
prevRunTest.omit();
|
|
1774
1775
|
moveForward();
|
|
@@ -1877,7 +1878,7 @@ function warn() {
|
|
|
1877
1878
|
ctx.currentTest.warn();
|
|
1878
1879
|
}
|
|
1879
1880
|
|
|
1880
|
-
var VERSION = "4.2.
|
|
1881
|
+
var VERSION = "4.2.2";
|
|
1881
1882
|
|
|
1882
1883
|
Object.defineProperty(exports, 'enforce', {
|
|
1883
1884
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t=require("n4s"),e=require("context"),r=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function o(n){return void 0===n}function s(n,t){return o(n)&&u(t)}function c(n){return[].concat(n)}function a(n,t){return n.length===Number(t)}function f(n){function t(n){return e.findIndex((function(t){var e=t[0];return a(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),function(n,t){return n.length>Number(t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function l(n){return!!Array.isArray(n)}function p(n){return null===n}var d=i(p);function v(n){return"function"==typeof n}function g(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return v(n)?n.apply(void 0,t):n}function h(n,t){var e;return null!==(e=g(n))&&void 0!==e?e:t}function E(n){return(n=c(n))[n.length-1]}function m(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];l(u)?e.push(m(u,t)):(u=t(u),d(u)&&e.push(u))}return e}function y(n,t,e){return S(n,t)[E(t)]=e,n}function N(n){return c(n).reduce((function(n,t){return l(t)?n.concat(N(t)):c(n).concat(t)}),[])}function S(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=h(n[r],[]),n=n[r]}return n}var b,C,R=Object.assign;function T(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return E(t)},getCursor:function(){return c(t)},next:function(){return t[t.length-1]++,E(t)},removeLevel:function(){t.pop()},reset:n}}!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(b||(b={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(C||(C={}));var I=e.createContext((function(n,t){return t?null:R({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:b.DEFAULT,keys:{current:{},prev:{}}},mode:[C.ALL],testCursor:T()},n)}));function _(){return I.useX().stateRef}function O(){return _().suiteId()[0]}function A(){return _().testCallbacks()}function k(){return _().optionalFields()}function L(){return _().testObjects()}function x(){(0,L()[1])((function(n){return{prev:n.prev,current:c(n.current)}}))}function F(n){(0,L()[1])((function(t){return{prev:t.prev,current:c(n(t.current))}}))}function G(){return N(m(L()[0].current,(function(n){return n.isPending()?n:null})))}var P,W=f();function D(){var n=L()[0].current;return W([n],(function(){return N(n)}))}function U(n){D().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(P||(P={}));var w,X=function(){function n(n,t,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=P.Error,this.status=H,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){s(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Y||(this.status=n)},n.prototype.warns=function(){return this.severity===P.Warning},n.prototype.setPending=function(){this.setStatus(B)},n.prototype.fail=function(){this.setStatus(this.warns()?M:q)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(j)},n.prototype.warn=function(){this.severity=P.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(V),x()},n.prototype.reset=function(){this.status=H,x()},n.prototype.omit=function(){this.setStatus(Y)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(B)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Y)},n.prototype.isUntested=function(){return this.statusEquals(H)},n.prototype.isFailing=function(){return this.statusEquals(q)},n.prototype.isCanceled=function(){return this.statusEquals(V)},n.prototype.isSkipped=function(){return this.statusEquals(K)},n.prototype.isPassing=function(){return this.statusEquals(j)},n.prototype.isWarning=function(){return this.statusEquals(M)},n.prototype.statusEquals=function(n){return this.status===n},n}(),H="UNTESTED",K="SKIPPED",q="FAILED",M="WARNING",j="PASSING",B="PENDING",V="CANCELED",Y="OMITTED";function J(n,t){throw Error(h(t,n))}function z(n,t){setTimeout((function(){J(n,t)}),0)}function Q(n){function t(n,t,u){return r.references.push(),e(n,g(t,u)),function(){return[r.references[n],function(t){return e(n,g(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,v(t=u[t][1])&&t(e,i),v(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function Z(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function $(n){return p(n)||o(n)}function nn(){return I.useX().testCursor.getCursor()}function tn(){return I.useX().testCursor.cursorAt()}function en(){return I.useX().testCursor.next()}function rn(n,t){if(n=void 0===(n=n.type)?b.DEFAULT:n,v(t)){var e={current:{},prev:{}},r=nn();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=c(S(L()[0].prev,nn())).reduce((function(n,t){return t instanceof X&&!$(t.key)?(n[t.key]=t,n):n}),{}),F((function(n){return y(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),en(),n}))}}function un(n,t){function e(n){i[n===w.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(w.ERRORS):t.isWarning()&&e(w.WARNINGS)),i}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(w||(w={}));var on=function(){return(on=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function sn(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function cn(n,t){return!!t&&!an(n,t)}function an(n,t){return!(!t||n.fieldName!==t)}function fn(n,t){return function(n,t){return!!n!=!!t}(n===w.WARNINGS,t.warns())}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||cn(n,r)||fn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),on({},i&&((r={})[i]=[],r)))}function pn(n,t){return t?n[t]:n}function dn(n){return gn(w.ERRORS,n)}function vn(n){return gn(w.WARNINGS,n)}function gn(n,t){return pn(n=ln(n,D(),{fieldName:t}),t)}function hn(n,t){return pn(n=mn(w.ERRORS,n,t),t)}function En(n,t){return pn(n=mn(w.WARNINGS,n,t),t)}function mn(n,t,e){return t||J("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,D(),{group:t,fieldName:e})}function yn(n,t,e){return!(!n.hasFailures()||cn(n,e)||fn(t,n))}function Nn(n){return bn(w.ERRORS,n)}function Sn(n){return bn(w.WARNINGS,n)}function bn(n,t){return D().some((function(e){return yn(e,n,t)}))}function Cn(n,t){return Tn(w.ERRORS,n,t)}function Rn(n,t){return Tn(w.WARNINGS,n,t)}function Tn(n,t,e){return D().some((function(r){return t===r.groupName&&yn(r,n,e)}))}function In(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function _n(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(In(n,"length"))return a(n,0);if("object"==typeof n)return a(Object.keys(n),0)}return!0}var On=i(_n);function An(n,t){return!!function(n){var t=D().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(_n(D())||function(n,t){return!!t&&_n(n.tests[t])}(n,t)||function(n){var t=k()[0];return On(G().filter((function(e){return!cn(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=D(),e=k()[0];return t.every((function(t){return!!cn(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var kn=f(20);function Ln(){var n=D(),t={stateRef:_()};return kn([n],I.bind(t,(function(){var n=_().suiteName()[0];return R(function(){var n=D(),t=R({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=un(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=un(t.groups[r],n))})),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)}(),{getErrors:I.bind(t,dn),getErrorsByGroup:I.bind(t,hn),getWarnings:I.bind(t,vn),getWarningsByGroup:I.bind(t,En),hasErrors:I.bind(t,Nn),hasErrorsByGroup:I.bind(t,Cn),hasWarnings:I.bind(t,Sn),hasWarningsByGroup:I.bind(t,Rn),isValid:I.bind(t,(function(n){return An(Ln(),n)})),suiteName:n})})))}function xn(n){var t=G();return!_n(t)&&(n?t.some((function(t){return an(t,n)})):On(t))}var Fn=f(20);function Gn(){var n=D(),t={stateRef:_()};return Fn([n],I.bind(t,(function(){return R({},Ln(),{done:I.bind(t,Un)})})))}function Pn(n,t,e){return!(v(n)&&(!t||e.tests[t]&&!_n(e.tests[t].testCount)))}function Wn(n){return!(xn()&&(!n||xn(n)))}var Dn,Un=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Gn(),Pn(e,n,t))return t;var r=function(){return e(Ln())};return Wn(n)?(r(),t):(wn(r,n),t)};function wn(n,t){var e=I.bind({},n);(0,A()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Xn(n){return n.forEach((function(n){return n()}))}function Hn(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Dn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=A()[0].fieldCallbacks;n&&!xn(n)&&l(t[n])&&Xn(t[n])}(t.fieldName),xn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=k()[0];if(!_n(n)){var t={};F((function(e){return m(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];v(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Dn.ALL_RUNNING_TESTS_FINISHED,(function(){Xn(A()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){U((function(t){an(t,n)&&(t.cancel(),function(n){F((function(t){return m(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){U((function(t){an(t,n)&&t.reset()}))})),n}function Kn(){var n=I.useX();return n.bus||J(),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"}(Dn||(Dn={}));function qn(){return!!I.useX().skipped}function Mn(n){return Vn(0,"tests",n)}function jn(n){return Vn(1,"tests",n)}function Bn(n){var t=n.fieldName;if(n=n.groupName,qn())return!0;var e=I.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=I.useX().exclusion.groups;if(In(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Yn(u)||!1===u[t])}return!!function(n){var t=I.useX().exclusion;return!!function(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Yn(u)&&!g(e[t]))}function Vn(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&c(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function Yn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Jn(n){J("Wrong arguments passed to group. Group ".concat(n,"."))}function zn(n){return!(!function(n){return I.useX().mode[0]===n}(C.EAGER)||!Nn(n.fieldName))}function Qn(){return!!I.useX().omitted}Mn.group=function(n){return Vn(0,"groups",n)},jn.group=function(n){return Vn(1,"groups",n)};var Zn=i(u);function $n(n){return n&&v(n.then)}function nt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function tt(n){var t=n.asyncTest,e=n.message;if($n(t)){var r=Kn().emit,i=_(),o=I.bind({stateRef:i},(function(){x(),r(Dn.TEST_COMPLETED,n)}));i=I.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:e,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function et(n){var t=Kn(),e=function(n){return I.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){s(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{$n(e)?(n.asyncTest=e,n.setPending(),tt(n)):t.emit(Dn.TEST_COMPLETED,n)}catch(t){J("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function rt(n){var t=L()[0].prev;return _n(t)?(ut(n),n):(t=function(n){var t=nn();return function(n,t){return S(n,t)[E(t)]}(n,t)}(t),$(n.key)?(function(n,t){return On(n)&&!nt(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===b.EACH||z("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.'))}(t,n),function(){var n=L(),t=n[1],e=n[0].prev;n=S(e,nn());var r=tn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),ut(n=h(t,n)),n):(ut(n=function(n,t){var e=function(n){return I.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=I.useX().isolate.keys.current;$(e[n])?e[n]=t:z('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function ut(n){var t=nn();F((function(e){return y(e,t,n)}))}function it(n){var t=rt(n);return zn(n)?(en(),n.skip(),n):Qn()?(t.omit(),en(),t):Bn(n)?(t.skip(qn()),en(),t):(function(n,t){t!==n&&nt(n,t)&&n.isPending()&&n.cancel()}(t,n),ut(n),en(),function(n){n.isUntested()?et(n):$n(n.asyncTest)&&(n.setPending(),tt(n))}(n),n)}function ot(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=v(t[1])?t:sn([void 0],t,!0);t=r[0],e=r[1],r=r[2],Zn(n)&&ct("fieldName","string"),v(e)||ct("Test callback","function");var u=I.useX();return it(t=new X(n,e,{message:t,groupName:u.groupName,key:r}))}var st=R(ot,{memo:function(n){var t=f(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=tn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[O(),e,u].concat(i),p(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):it(r[1])}}(ot)});function ct(n,t){J("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.2.1",exports.context=I,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];n=n[1],v(e)||J("vest.create: Expected callback to be a function.");var u=Hn(),i=Q();return n={stateRef:Z(i,{suiteId:r(),suiteName:n}),bus:u},R(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),rn({type:b.SUITE},(function(){e.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Gn()})),{get:I.bind(n,Ln),remove:I.bind(n,(function(n){u.emit(Dn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Dn.RESET_FIELD,n)}))})},exports.each=function(n,t){v(t)||J("each callback must be a function"),rn({type:b.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(C.EAGER)},exports.group=function(n,t){u(n)||Jn("name must be a string"),v(t)||Jn("callback must be a function"),rn({type:b.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){function t(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return In(r.tests,n)?h(r.tests[n],!0):u(t)?!!r.tests[t]:g(t,g(Ln))}}var e=I.useX();return n?(e.inclusion[n]=h(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,t){rn({type:b.OMIT_WHEN},(function(){I.run({omitted:Qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.only=Mn,exports.optional=function(n){(0,k()[1])((function(t){if(l(n)||u(n))c(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=jn,exports.skipWhen=function(n,t){rn({type:b.SKIP_WHEN},(function(){I.run({skipped:qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.test=st,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");n.currentTest||J("warn called outside of a test."),n.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n,t=require("n4s"),e=require("context"),r=(n=0,function(){return"".concat(n++)});function u(n){return String(n)===n}function i(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function o(n){return void 0===n}function s(n,t){return o(n)&&u(t)}function c(n){return[].concat(n)}function a(n,t){return n.length===Number(t)}function f(n){function t(n){return e.findIndex((function(t){var e=t[0];return a(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),function(n,t){return n.length>Number(t)}(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function l(n){return!!Array.isArray(n)}function p(n){return null===n}var d=i(p);function v(n){return"function"==typeof n}function g(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return v(n)?n.apply(void 0,t):n}function h(n,t){var e;return null!==(e=g(n))&&void 0!==e?e:t}function E(n){return(n=c(n))[n.length-1]}function m(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];l(u)?e.push(m(u,t)):(u=t(u),d(u)&&e.push(u))}return e}function y(n,t,e){return S(n,t)[E(t)]=e,n}function N(n){return c(n).reduce((function(n,t){return l(t)?n.concat(N(t)):c(n).concat(t)}),[])}function S(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=h(n[r],[]),n=n[r]}return n}var b,C,R=Object.assign;function T(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return E(t)},getCursor:function(){return c(t)},next:function(){return t[t.length-1]++,E(t)},removeLevel:function(){t.pop()},reset:n}}!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(b||(b={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(C||(C={}));var I=e.createContext((function(n,t){return t?null:R({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:b.DEFAULT,keys:{current:{},prev:{}}},mode:[C.ALL],testCursor:T()},n)}));function _(){return I.useX().stateRef}function O(){return _().suiteId()[0]}function A(){return _().testCallbacks()}function k(){return _().optionalFields()}function L(){return _().testObjects()}function x(){(0,L()[1])((function(n){return{prev:n.prev,current:c(n.current)}}))}function F(n){(0,L()[1])((function(t){return{prev:t.prev,current:c(n(t.current))}}))}function G(){return N(m(L()[0].current,(function(n){return n.isPending()?n:null})))}var P,W=f();function D(){var n=L()[0].current;return W([n],(function(){return N(n)}))}function U(n){D().forEach(n)}!function(n){n.Error="error",n.Warning="warning"}(P||(P={}));var w,X=function(){function n(n,t,e){var u=void 0===e?{}:e;e=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=r(),this.severity=P.Error,this.status=H,this.fieldName=n,this.testFn=t,i&&(this.groupName=i),e&&(this.message=e),u&&(this.key=u)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){s(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Y||(this.status=n)},n.prototype.warns=function(){return this.severity===P.Warning},n.prototype.setPending=function(){this.setStatus(B)},n.prototype.fail=function(){this.setStatus(this.warns()?M:q)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(j)},n.prototype.warn=function(){this.severity=P.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(V),x()},n.prototype.reset=function(){this.status=H,x()},n.prototype.omit=function(){this.setStatus(Y)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(B)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Y)},n.prototype.isUntested=function(){return this.statusEquals(H)},n.prototype.isFailing=function(){return this.statusEquals(q)},n.prototype.isCanceled=function(){return this.statusEquals(V)},n.prototype.isSkipped=function(){return this.statusEquals(K)},n.prototype.isPassing=function(){return this.statusEquals(j)},n.prototype.isWarning=function(){return this.statusEquals(M)},n.prototype.statusEquals=function(n){return this.status===n},n}(),H="UNTESTED",K="SKIPPED",q="FAILED",M="WARNING",j="PASSING",B="PENDING",V="CANCELED",Y="OMITTED";function J(n,t){throw Error(h(t,n))}function z(n,t){setTimeout((function(){J(n,t)}),0)}function Q(n){function t(n,t,u){return r.references.push(),e(n,g(t,u)),function(){return[r.references[n],function(t){return e(n,g(t,r.references[n]))}]}}function e(t,e){var i=r.references[t];r.references[t]=e,v(t=u[t][1])&&t(e,i),v(n)&&n()}var r={references:[]},u=[];return{registerStateKey:function(n,e){var r=u.length;return u.push([n,e]),t(r,n)},reset:function(){var n=r.references;r.references=[],u.forEach((function(e,r){return t(r,e[0],n[r])}))}}}function Z(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function $(n){return p(n)||o(n)}function nn(){return I.useX().testCursor.getCursor()}function tn(){return I.useX().testCursor.cursorAt()}function en(){return I.useX().testCursor.next()}function rn(n,t){if(n=void 0===(n=n.type)?b.DEFAULT:n,v(t)){var e={current:{},prev:{}},r=nn();return I.run({isolate:{type:n,keys:e}},(function(){I.useX().testCursor.addLevel(),e.prev=c(S(L()[0].prev,nn())).reduce((function(n,t){return t instanceof X&&!$(t.key)?(n[t.key]=t,n):n}),{}),F((function(n){return y(n,r,[])}));var n=t();return I.useX().testCursor.removeLevel(),en(),n}))}}function un(n,t){function e(n){i[n===w.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(w.ERRORS):t.isWarning()&&e(w.WARNINGS)),i}!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(w||(w={}));var on=function(){return(on=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)};function sn(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function cn(n,t){return!!t&&!an(n,t)}function an(n,t){return!(!t||n.fieldName!==t)}function fn(n,t){return function(n,t){return!!n!=!!t}(n===w.WARNINGS,t.warns())}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){return function(n,t,e,r){return!!(function(n,t){return!(!t||n.groupName===t)}(n,e)||cn(n,r)||fn(t,n))}(e,n,u,i)||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),on({},i&&((r={})[i]=[],r)))}function pn(n,t){return t?n[t]:n}function dn(n){return gn(w.ERRORS,n)}function vn(n){return gn(w.WARNINGS,n)}function gn(n,t){return pn(n=ln(n,D(),{fieldName:t}),t)}function hn(n,t){return pn(n=mn(w.ERRORS,n,t),t)}function En(n,t){return pn(n=mn(w.WARNINGS,n,t),t)}function mn(n,t,e){return t||J("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,D(),{group:t,fieldName:e})}function yn(n,t,e){return!(!n.hasFailures()||cn(n,e)||fn(t,n))}function Nn(n){return bn(w.ERRORS,n)}function Sn(n){return bn(w.WARNINGS,n)}function bn(n,t){return D().some((function(e){return yn(e,n,t)}))}function Cn(n,t){return Tn(w.ERRORS,n,t)}function Rn(n,t){return Tn(w.WARNINGS,n,t)}function Tn(n,t,e){return D().some((function(r){return t===r.groupName&&yn(r,n,e)}))}function In(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function _n(n){if(n){if(function(n){return"number"==typeof n}(n))return 0===n;if(In(n,"length"))return a(n,0);if("object"==typeof n)return a(Object.keys(n),0)}return!0}var On=i(_n);function An(n,t){return!!function(n){var t=D().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return!!n&&!!t[n]}(t)||!n.hasErrors(t)&&(!(_n(D())||function(n,t){return!!t&&_n(n.tests[t])}(n,t)||function(n){var t=k()[0];return On(G().filter((function(e){return!cn(e,n)&&!0!==t[e.fieldName]})))}(t))&&function(n){var t=D(),e=k()[0];return t.every((function(t){return!!cn(t,n)||(!0===e[t.fieldName]||t.isTested()||t.isOmitted())}))}(t))}var kn=f(20);function Ln(){var n=D(),t={stateRef:_()};return kn([n],I.bind(t,(function(){var n=_().suiteName()[0];return R(function(){var n=D(),t=R({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=un(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=un(t.groups[r],n))})),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)}(),{getErrors:I.bind(t,dn),getErrorsByGroup:I.bind(t,hn),getWarnings:I.bind(t,vn),getWarningsByGroup:I.bind(t,En),hasErrors:I.bind(t,Nn),hasErrorsByGroup:I.bind(t,Cn),hasWarnings:I.bind(t,Sn),hasWarningsByGroup:I.bind(t,Rn),isValid:I.bind(t,(function(n){return An(Ln(),n)})),suiteName:n})})))}function xn(n){var t=G();return!_n(t)&&(n?t.some((function(t){return an(t,n)})):On(t))}var Fn=f(20);function Gn(){var n=D(),t={stateRef:_()};return Fn([n],I.bind(t,(function(){return R({},Ln(),{done:I.bind(t,Un)})})))}function Pn(n,t,e){return!(v(n)&&(!t||e.tests[t]&&!_n(e.tests[t].testCount)))}function Wn(n){return!(xn()&&(!n||xn(n)))}var Dn,Un=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=Gn(),Pn(e,n,t))return t;var r=function(){return e(Ln())};return Wn(n)?(r(),t):(wn(r,n),t)};function wn(n,t){var e=I.bind({},n);(0,A()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Xn(n){return n.forEach((function(n){return n()}))}function Hn(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Dn.TEST_COMPLETED,(function(t){t.isCanceled()||(t.done(),function(n){var t=A()[0].fieldCallbacks;n&&!xn(n)&&l(t[n])&&Xn(t[n])}(t.fieldName),xn()||n.emit(Dn.ALL_RUNNING_TESTS_FINISHED))})),n.on(Dn.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=k()[0];if(!_n(n)){var t={};F((function(e){return m(e,(function(e){var r=e.fieldName;if(t.hasOwnProperty(r))t[e.fieldName]&&e.omit();else{var u=n[r];v(u)&&(t[r]=u(),t[e.fieldName]&&e.omit())}return e}))}))}}()})),n.on(Dn.ALL_RUNNING_TESTS_FINISHED,(function(){Xn(A()[0].doneCallbacks)})),n.on(Dn.REMOVE_FIELD,(function(n){U((function(t){an(t,n)&&(t.cancel(),function(n){F((function(t){return m(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Dn.RESET_FIELD,(function(n){U((function(t){an(t,n)&&t.reset()}))})),n}function Kn(){var n=I.useX();return n.bus||J(),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"}(Dn||(Dn={}));function qn(){return!!I.useX().skipped}function Mn(n){return Vn(0,"tests",n)}function jn(n){return Vn(1,"tests",n)}function Bn(n){var t=n.fieldName;if(n=n.groupName,qn())return!0;var e=I.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){if(function(n){var t=I.useX().exclusion.groups;if(In(t,n))return!1===t[n];for(var e in t)if(!0===t[e])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!i&&(!!Yn(u)||!1===u[t])}return!!function(n){var t=I.useX().exclusion;return!!function(){var n,t=I.useX().exclusion;for(n in t.groups)if(t.groups[n])return!0;return!1}()&&(!n||(!(n in t.groups)||!t.groups[n]))}(n)||!i&&(!!Yn(u)&&!g(e[t]))}function Vn(n,t,e){var r=I.useX("hook called outside of a running suite.");e&&c(e).forEach((function(e){u(e)&&(r.exclusion[t][e]=0===n)}))}function Yn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Jn(n){J("Wrong arguments passed to group. Group ".concat(n,"."))}function zn(n){return!(!function(n){return I.useX().mode[0]===n}(C.EAGER)||!Nn(n.fieldName))}function Qn(){return!!I.useX().omitted}Mn.group=function(n){return Vn(0,"groups",n)},jn.group=function(n){return Vn(1,"groups",n)};var Zn=i(u);function $n(n){return n&&v(n.then)}function nt(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}function tt(n){var t=n.asyncTest,e=n.message;if($n(t)){var r=Kn().emit,i=_(),o=I.bind({stateRef:i},(function(){x(),r(Dn.TEST_COMPLETED,n)}));i=I.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=u(t)?t:e,n.fail(),o())}));try{t.then(o,i)}catch(n){i()}}}function et(n){var t=Kn(),e=function(n){return I.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){s(n.message,e)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{$n(e)?(n.asyncTest=e,n.setPending(),tt(n)):t.emit(Dn.TEST_COMPLETED,n)}catch(t){J("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}function rt(n){var t=L()[0].prev;return _n(t)?(ut(n),n):(t=function(n){var t=nn();return function(n,t){return S(n,t)[E(t)]}(n,t)}(t),$(n.key)?(function(n,t){return On(n)&&!nt(n,t)}(t,n)&&(function(n,t){I.useX().isolate.type===b.EACH||z("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.'))}(t,n),function(){var n=L(),t=n[1],e=n[0].prev;n=S(e,nn());var r=tn();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),ut(n=h(t,n)),n):(ut(n=function(n,t){var e=function(n){return I.useX().isolate.keys.prev[n]}(n);return e&&(t=e),function(n,t){var e=I.useX().isolate.keys.current;$(e[n])?e[n]=t:z('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted."))}(n,t),t}(n.key,n)),n))}function ut(n){var t=nn();F((function(e){return y(e,t,n)}))}function it(n){if(zn(n))return n.skip(),rt(n),en(),n;var t=rt(n);return Qn()?(t.omit(),en(),t):Bn(n)?(t.skip(qn()),en(),t):(function(n,t){t!==n&&nt(n,t)&&n.isPending()&&n.cancel()}(t,n),ut(n),en(),function(n){n.isUntested()?et(n):$n(n.asyncTest)&&(n.setPending(),tt(n))}(n),n)}function ot(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var r=v(t[1])?t:sn([void 0],t,!0);t=r[0],e=r[1],r=r[2],Zn(n)&&ct("fieldName","string"),v(e)||ct("Test callback","function");var u=I.useX();return it(t=new X(n,e,{message:t,groupName:u.groupName,key:r}))}var st=R(ot,{memo:function(n){var t=f(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=tn();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[O(),e,u].concat(i),p(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):it(r[1])}}(ot)});function ct(n,t){J("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}Object.defineProperty(exports,"enforce",{enumerable:!0,get:function(){return t.enforce}}),exports.VERSION="4.2.2",exports.context=I,exports.create=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];n=n[1],v(e)||J("vest.create: Expected callback to be a function.");var u=Hn(),i=Q();return n={stateRef:Z(i,{suiteId:r(),suiteName:n}),bus:u},R(I.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),rn({type:b.SUITE},(function(){e.apply(void 0,n)})),u.emit(Dn.SUITE_CALLBACK_DONE_RUNNING),Gn()})),{get:I.bind(n,Ln),remove:I.bind(n,(function(n){u.emit(Dn.REMOVE_FIELD,n)})),reset:i.reset,resetField:I.bind(n,(function(n){u.emit(Dn.RESET_FIELD,n)}))})},exports.each=function(n,t){v(t)||J("each callback must be a function"),rn({type:b.EACH},(function(){n.forEach((function(n,e){t(n,e)}))}))},exports.eager=function(){!function(n){I.useX().mode[0]=n}(C.EAGER)},exports.group=function(n,t){u(n)||Jn("name must be a string"),v(t)||Jn("callback must be a function"),rn({type:b.GROUP},(function(){I.run({groupName:n},t)}))},exports.include=function(n){function t(t){var e=I.useX(),r=e.exclusion;e.inclusion[n]=function(){return In(r.tests,n)?h(r.tests[n],!0):u(t)?!!r.tests[t]:g(t,g(Ln))}}var e=I.useX();return n?(e.inclusion[n]=h(e.exclusion.tests[n],!0),{when:t}):{when:t}},exports.omitWhen=function(n,t){rn({type:b.OMIT_WHEN},(function(){I.run({omitted:Qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.only=Mn,exports.optional=function(n){(0,k()[1])((function(t){if(l(n)||u(n))c(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},exports.skip=jn,exports.skipWhen=function(n,t){rn({type:b.SKIP_WHEN},(function(){I.run({skipped:qn()||g(n,g(Ln))},(function(){return t()}))}))},exports.test=st,exports.warn=function(){var n=I.useX("warn hook called outside of a running suite.");n.currentTest||J("warn called outside of a test."),n.currentTest.warn()};
|
|
@@ -1759,12 +1759,13 @@ function handleKeyTest(key, newTestObject) {
|
|
|
1759
1759
|
|
|
1760
1760
|
// eslint-disable-next-line max-statements
|
|
1761
1761
|
function registerPrevRunTest(testObject) {
|
|
1762
|
-
var prevRunTest = useTestAtCursor(testObject);
|
|
1763
1762
|
if (shouldSkipBasedOnMode(testObject)) {
|
|
1764
|
-
moveForward();
|
|
1765
1763
|
testObject.skip();
|
|
1764
|
+
useTestAtCursor(testObject);
|
|
1765
|
+
moveForward();
|
|
1766
1766
|
return testObject;
|
|
1767
1767
|
}
|
|
1768
|
+
var prevRunTest = useTestAtCursor(testObject);
|
|
1768
1769
|
if (isOmitted()) {
|
|
1769
1770
|
prevRunTest.omit();
|
|
1770
1771
|
moveForward();
|
|
@@ -1873,6 +1874,6 @@ function warn() {
|
|
|
1873
1874
|
ctx.currentTest.warn();
|
|
1874
1875
|
}
|
|
1875
1876
|
|
|
1876
|
-
var VERSION = "4.2.
|
|
1877
|
+
var VERSION = "4.2.2";
|
|
1877
1878
|
|
|
1878
1879
|
export { VERSION, context, create, each, eager, group, include, omitWhen, only, optional, skip, skipWhen, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>Number(t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var o=u((function(t){return null===t}));function s(t){return"function"==typeof t}function a(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return s(t)?t.apply(void 0,n):t}function c(t,n){var e;return null!==(e=a(t))&&void 0!==e?e:n}function f(t){return(t=[].concat(t))[t.length-1]}function l(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(l(u,n)):(u=n(u),o(u)&&e.push(u))}return e}function p(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(p(n)):[].concat(t).concat(n)}),[])}function d(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=c(t[r],[]),t=t[r]}return t}var v=Object.assign;function h(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return f(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,f(n)},removeLevel:function(){n.pop()},reset:t}}var g,E=g||(g={});E[E.DEFAULT=0]="DEFAULT",E[E.SUITE=1]="SUITE",E[E.EACH=2]="EACH",E[E.SKIP_WHEN=3]="SKIP_WHEN",E[E.OMIT_WHEN=4]="OMIT_WHEN",E[E.GROUP=5]="GROUP";var m,y=m||(m={});y[y.ALL=0]="ALL",y[y.EAGER=1]="EAGER";var N=t((function(t,n){return n?null:v({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:g.DEFAULT,keys:{current:{},prev:{}}},mode:[m.ALL],testCursor:h()},t)}));function b(){return N.useX().stateRef}function S(){return b().testObjects()}function C(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function R(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function T(){return p(l(S()[0].current,(function(t){return t.isPending()?t:null})))}var A=i();function I(){var t=S()[0].current;return A([t],(function(){return p(t)}))}var k,O=k||(k={});O.Error="error",O.Warning="warning";var _=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=k.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(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===k.Warning},t.prototype.setPending=function(){this.setStatus(X)},t.prototype.fail=function(){this.setStatus(this.warns()?P:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(W)},t.prototype.warn=function(){this.severity=k.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(F)},t.prototype.cancel=function(){this.setStatus(w),C()},t.prototype.reset=function(){this.status=L,C()},t.prototype.omit=function(){this.setStatus(D)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(X)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(w)},t.prototype.isSkipped=function(){return this.statusEquals(F)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(P)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",F="SKIPPED",G="FAILED",P="WARNING",W="PASSING",X="PENDING",w="CANCELED",D="OMITTED";function U(t,n){throw Error(c(n,t))}function x(t,n){setTimeout((function(){U(t,n)}),0)}function H(t){function n(t,n,u){return r.references.push(),e(t,a(n,u)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,s(n=u[n][1])&&n(e,i),s(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function K(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function j(t){return null==t}function M(){return N.useX().testCursor.getCursor()}function q(){return N.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?g.DEFAULT:t,s(n)){var e={current:{},prev:{}},r=M();return N.run({isolate:{type:t,keys:e}},(function(){N.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(d(t,M())).reduce((function(t,n){return n instanceof _&&!j(n.key)?(t[n.key]=n,t):t}),{})}(),R((function(t){return d(t,r)[f(r)]=[],t}));var t=n();return N.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});function J(t,n){function e(t){i[t===V.ERRORS?"errorCount":"warnCount"]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(V.ERRORS):n.isWarning()&&e(V.WARNINGS)),i}function z(){return(z=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function Z(t,n){return!(!n||t.fieldName!==n)}function $(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!Z(e,i)?r=!0:(r=e.warns(),r=t===V.WARNINGS!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),z({},i&&((r={})[i]=[],r)))}function tt(t){return et(V.ERRORS,t)}function nt(t){return et(V.WARNINGS,t)}function et(t,n){return t=$(t,I(),{fieldName:n}),n?t[n]:t}function rt(t,n){return t=it(V.ERRORS,t,n),n?t[n]:t}function ut(t,n){return t=it(V.WARNINGS,t,n),n?t[n]:t}function it(t,n,e){return n||U("get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),$(t,I(),{group:n,fieldName:e})}function ot(t,n,e){return(e=!t.hasFailures()||e&&!Z(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function st(t){return ct(V.ERRORS,t)}function at(t){return ct(V.WARNINGS,t)}function ct(t,n){return I().some((function(e){return ot(e,t,n)}))}function ft(t,n){return pt(V.ERRORS,t,n)}function lt(t,n){return pt(V.WARNINGS,t,n)}function pt(t,n,e){return I().some((function(r){return n===r.groupName&&ot(r,t,e)}))}function dt(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}Y.WARNINGS="warnings",Y.ERRORS="errors";var vt=u(dt);var ht=i(20);function gt(){var t=I(),n={stateRef:b()};return ht([t],N.bind(n,(function(){var t=b().suiteName()[0];return v(function(){var t=I(),n=v({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return t.forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=J(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=J(n.groups[r],t))})),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)}(),{getErrors:N.bind(n,tt),getErrorsByGroup:N.bind(n,rt),getWarnings:N.bind(n,nt),getWarningsByGroup:N.bind(n,ut),hasErrors:N.bind(n,st),hasErrorsByGroup:N.bind(n,ft),hasWarnings:N.bind(n,at),hasWarningsByGroup:N.bind(n,lt),isValid:N.bind(n,(function(t){var n=gt(),e=I().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(dt(e=I())||t&&dt(n.tests[t])||function(t){var n=b().optionalFields()[0];return vt(T().filter((function(e){return!(t&&!Z(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=I(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||Z(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}function Et(t){var n=T();return!dt(n)&&(t?n.some((function(n){return Z(n,t)})):vt(n))}var mt=i(20);function yt(){var t=I(),n={stateRef:b()};return mt([t],N.bind(n,(function(){return v({},gt(),{done:N.bind(n,St)})})))}function Nt(t,n,e){return!(s(t)&&(!n||e.tests[n]&&!dt(e.tests[n].testCount)))}function bt(t){return!(Et()&&(!t||Et(t)))}function St(){function t(){return r(gt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=yt(),Nt(r,n,e)?e:bt(n)?(t(),e):(Ct(t,n),e)}function Ct(t,n){var e=N.bind({},t);(0,b().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Rt(t){return t.forEach((function(t){return t()}))}function Tt(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(It.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!Et(n)&&Array.isArray(e[n])&&Rt(e[n]),Et()||t.emit(It.ALL_RUNNING_TESTS_FINISHED)}})),t.on(It.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!dt(t)){var n={};R((function(e){return l(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var u=t[r];s(u)&&(n[r]=u(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(It.ALL_RUNNING_TESTS_FINISHED,(function(){Rt(b().testCallbacks()[0].doneCallbacks)})),t.on(It.REMOVE_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&(n.cancel(),function(t){R((function(n){return l(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(It.RESET_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&n.reset()}))})),t}function At(){var t=N.useX();return t.bus||U(),t.bus}var It,kt=It||(It={});function Ot(t){return Lt(0,"tests",t)}function _t(t){return Lt(1,"tests",t)}function Lt(t,n,e){var u=N.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ft(t){for(var n in t)if(!0===t[n])return!0;return!1}function Gt(t){U("Wrong arguments passed to group. Group ".concat(t,"."))}kt.TEST_COMPLETED="test_completed",kt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",kt.REMOVE_FIELD="remove_field",kt.RESET_FIELD="reset_field",kt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Ot.group=function(t){return Lt(0,"groups",t)},_t.group=function(t){return Lt(1,"groups",t)};var Pt=u(r);function Wt(t){var n=t.asyncTest,e=t.message;if(n&&s(n.then)){var u=At().emit,i=b(),o=N.bind({stateRef:i},(function(){C(),u(It.TEST_COMPLETED,t)}));i=N.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=M();R((function(e){return d(e,n)[f(n)]=t,e}))}function wt(t){var n=S()[0].prev;if(dt(n))Xt(t),n=t;else{var e=M();if(n=d(n,e)[f(e)],j(t.key))!vt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(N.useX().isolate.type!==g.EACH&&x("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=S(),n=t[1],e=t[0].prev;t=d(e,M());var r=N.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),Xt(n=c(n,t));else{n=t.key;var u=N.useX().isolate.keys.prev[n];e=t,u&&(e=u),u=e;var i=N.useX().isolate.keys.current;j(i[n])?i[n]=u:x('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Xt(n=e)}}if(e=m.EAGER,e=!(N.useX().mode[0]!==e||!st(t.fieldName)))return q(),t.skip(),t;if(N.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,N.useX().skipped)return!0;var e=N.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=N.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Ft(u)&&!1!==u[n])}r=N.useX().exclusion;t:{for(c in(s=N.useX().exclusion).groups)if(s.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!i&&!!Ft(u)&&!a(e[n])}(t))return n.skip(!!N.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),Xt(t),q(),t.isUntested()){n=At(),e=function(t){return N.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&s(e.then)?(t.asyncTest=e,t.setPending(),Wt(t)):n.emit(It.TEST_COMPLETED,t)}catch(n){U("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&s(n.then)&&(t.setPending(),Wt(t));return t}function Dt(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=s(n[1])?n:Q([void 0],n,!0);n=r[0],e=r[1],r=r[2],Pt(t)&&xt("fieldName","string"),s(e)||xt("Test callback","function");var u=N.useX();return wt(n=new _(t,e,{message:n,groupName:u.groupName,key:r}))}var Ut=v(Dt,{memo:function(t){var n=i(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=N.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[b().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):wt(r[1])}}(Dt)});function xt(t,n){U("Incompatible params passed to test function. ".concat(t," must be a ").concat(n))}var Ht="4.2.1";function Kt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],s(r)||U("vest.create: Expected callback to be a function.");var u=Tt(),i=H();return t={stateRef:K(i,{suiteId:e(),suiteName:t}),bus:u},v(N.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),B({type:g.SUITE},(function(){r.apply(void 0,t)})),u.emit(It.SUITE_CALLBACK_DONE_RUNNING),yt()})),{get:N.bind(t,gt),remove:N.bind(t,(function(t){u.emit(It.REMOVE_FIELD,t)})),reset:i.reset,resetField:N.bind(t,(function(t){u.emit(It.RESET_FIELD,t)}))})}function jt(t,n){s(n)||U("each callback must be a function"),B({type:g.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function Mt(){var t=m.EAGER;N.useX().mode[0]=t}function qt(t,n){r(t)||Gt("name must be a string"),s(n)||Gt("callback must be a function"),B({type:g.GROUP},(function(){N.run({groupName:t},n)}))}function Bt(t){function n(n){var e=N.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?c(u.tests[t],!0):r(n)?!!u.tests[n]:a(n,a(gt))}}var e=N.useX();return t?(e.inclusion[t]=c(e.exclusion.tests[t],!0),{when:n}):{when:n}}function Vt(t,n){B({type:g.OMIT_WHEN},(function(){N.run({omitted:!!N.useX().omitted||a(t,a(gt))},(function(){return n()}))}))}function Yt(t){(0,b().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function Jt(t,n){B({type:g.SKIP_WHEN},(function(){N.run({skipped:!!N.useX().skipped||a(t,a(gt))},(function(){return n()}))}))}function zt(){var t=N.useX("warn hook called outside of a running suite.");t.currentTest||U("warn called outside of a test."),t.currentTest.warn()}export{Ht as VERSION,N as context,Kt as create,jt as each,Mt as eager,qt as group,Bt as include,Vt as omitWhen,Ot as only,Yt as optional,_t as skip,Jt as skipWhen,Ut as test,zt as warn};
|
|
1
|
+
import{createContext as t}from"context";export{enforce}from"n4s";var n,e=(n=0,function(){return"".concat(n++)});function r(t){return String(t)===t}function u(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return!t.apply(void 0,n)}}function i(t){function n(e,u){var i=n.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>Number(t)&&(r.length=t),u)}function e(t){return r.findIndex((function(n){var e=n[0];return t.length===Number(e.length)&&t.every((function(t,n){return t===e[n]}))}))}void 0===t&&(t=1);var r=[];return n.invalidate=function(t){-1<(t=e(t))&&r.splice(t,1)},n.get=function(t){return r[e(t)]||null},n}var o=u((function(t){return null===t}));function s(t){return"function"==typeof t}function a(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return s(t)?t.apply(void 0,n):t}function c(t,n){var e;return null!==(e=a(t))&&void 0!==e?e:n}function f(t){return(t=[].concat(t))[t.length-1]}function l(t,n){for(var e=[],r=0;r<t.length;r++){var u=t[r];Array.isArray(u)?e.push(l(u,n)):(u=n(u),o(u)&&e.push(u))}return e}function p(t){return[].concat(t).reduce((function(t,n){return Array.isArray(n)?t.concat(p(n)):[].concat(t).concat(n)}),[])}function d(t,n){var e=0;for(n=n.slice(0,-1);e<n.length;e++){var r=n[e];t[r]=c(t[r],[]),t=t[r]}return t}var v=Object.assign;function h(){function t(){n=[0]}var n=[];return t(),{addLevel:function(){n.push(0)},cursorAt:function(){return f(n)},getCursor:function(){return[].concat(n)},next:function(){return n[n.length-1]++,f(n)},removeLevel:function(){n.pop()},reset:t}}var g,E=g||(g={});E[E.DEFAULT=0]="DEFAULT",E[E.SUITE=1]="SUITE",E[E.EACH=2]="EACH",E[E.SKIP_WHEN=3]="SKIP_WHEN",E[E.OMIT_WHEN=4]="OMIT_WHEN",E[E.GROUP=5]="GROUP";var m,y=m||(m={});y[y.ALL=0]="ALL",y[y.EAGER=1]="EAGER";var N=t((function(t,n){return n?null:v({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:g.DEFAULT,keys:{current:{},prev:{}}},mode:[m.ALL],testCursor:h()},t)}));function b(){return N.useX().stateRef}function S(){return b().testObjects()}function C(){(0,S()[1])((function(t){return{prev:t.prev,current:[].concat(t.current)}}))}function R(t){(0,S()[1])((function(n){return{prev:n.prev,current:[].concat(t(n.current))}}))}function T(){return p(l(S()[0].current,(function(t){return t.isPending()?t:null})))}var A=i();function I(){var t=S()[0].current;return A([t],(function(){return p(t)}))}var k,O=k||(k={});O.Error="error",O.Warning="warning";var _=function(){function t(t,n,r){var u=void 0===r?{}:r;r=u.message;var i=u.groupName;u=u.key,this.key=null,this.id=e(),this.severity=k.Error,this.status=L,this.fieldName=t,this.testFn=n,i&&(this.groupName=i),r&&(this.message=r),u&&(this.key=u)}return t.prototype.run=function(){try{var t=this.testFn()}catch(n){t=n,void 0===this.message&&r(t)&&(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===k.Warning},t.prototype.setPending=function(){this.setStatus(X)},t.prototype.fail=function(){this.setStatus(this.warns()?P:G)},t.prototype.done=function(){this.isFinalStatus()||this.setStatus(W)},t.prototype.warn=function(){this.severity=k.Warning},t.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},t.prototype.skip=function(t){this.isPending()&&!t||this.setStatus(F)},t.prototype.cancel=function(){this.setStatus(w),C()},t.prototype.reset=function(){this.status=L,C()},t.prototype.omit=function(){this.setStatus(D)},t.prototype.valueOf=function(){return!this.isFailing()},t.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},t.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},t.prototype.isPending=function(){return this.statusEquals(X)},t.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},t.prototype.isOmitted=function(){return this.statusEquals(D)},t.prototype.isUntested=function(){return this.statusEquals(L)},t.prototype.isFailing=function(){return this.statusEquals(G)},t.prototype.isCanceled=function(){return this.statusEquals(w)},t.prototype.isSkipped=function(){return this.statusEquals(F)},t.prototype.isPassing=function(){return this.statusEquals(W)},t.prototype.isWarning=function(){return this.statusEquals(P)},t.prototype.statusEquals=function(t){return this.status===t},t}(),L="UNTESTED",F="SKIPPED",G="FAILED",P="WARNING",W="PASSING",X="PENDING",w="CANCELED",D="OMITTED";function U(t,n){throw Error(c(n,t))}function x(t,n){setTimeout((function(){U(t,n)}),0)}function H(t){function n(t,n,u){return r.references.push(),e(t,a(n,u)),function(){return[r.references[t],function(n){return e(t,a(n,r.references[t]))}]}}function e(n,e){var i=r.references[n];r.references[n]=e,s(n=u[n][1])&&n(e,i),s(t)&&t()}var r={references:[]},u=[];return{registerStateKey:function(t,e){var r=u.length;return u.push([t,e]),n(r,t)},reset:function(){var t=r.references;r.references=[],u.forEach((function(e,r){return n(r,e[0],t[r])}))}}}function K(t,n){var e=n.suiteId;return n=n.suiteName,{optionalFields:t.registerStateKey((function(){return{}})),suiteId:t.registerStateKey(e),suiteName:t.registerStateKey(n),testCallbacks:t.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:t.registerStateKey((function(t){return{prev:t?t.current:[],current:[]}}))}}function j(t){return null==t}function M(){return N.useX().testCursor.getCursor()}function q(){return N.useX().testCursor.next()}function B(t,n){if(t=void 0===(t=t.type)?g.DEFAULT:t,s(n)){var e={current:{},prev:{}},r=M();return N.run({isolate:{type:t,keys:e}},(function(){N.useX().testCursor.addLevel(),e.prev=function(){var t=S()[0].prev;return[].concat(d(t,M())).reduce((function(t,n){return n instanceof _&&!j(n.key)?(t[n.key]=n,t):t}),{})}(),R((function(t){return d(t,r)[f(r)]=[],t}));var t=n();return N.useX().testCursor.removeLevel(),q(),t}))}}var V,Y=V||(V={});function J(t,n){function e(t){i[t===V.ERRORS?"errorCount":"warnCount"]++,u&&(i[t]=(i[t]||[]).concat(u))}var r=n.fieldName,u=n.message;t[r]=t[r]||{errorCount:0,warnCount:0,testCount:0};var i=t[r];return n.isNonActionable()||(t[r].testCount++,n.isFailing()?e(V.ERRORS):n.isWarning()&&e(V.WARNINGS)),i}function z(){return(z=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(t[u]=n[u]);return t}).apply(this,arguments)}function Q(t,n,e){if(e||2===arguments.length)for(var r,u=0,i=n.length;u<i;u++)!r&&u in n||(r||(r=Array.prototype.slice.call(n,0,u)),r[u]=n[u]);return t.concat(r||Array.prototype.slice.call(n))}function Z(t,n){return!(!n||t.fieldName!==n)}function $(t,n,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return n.reduce((function(n,e){if(u&&e.groupName!==u)var r=!0;else i&&!Z(e,i)?r=!0:(r=e.warns(),r=t===V.WARNINGS!=!!r);return r||!e.hasFailures()||(n[e.fieldName]=(n[e.fieldName]||[]).concat(e.message||[])),n}),z({},i&&((r={})[i]=[],r)))}function tt(t){return et(V.ERRORS,t)}function nt(t){return et(V.WARNINGS,t)}function et(t,n){return t=$(t,I(),{fieldName:n}),n?t[n]:t}function rt(t,n){return t=it(V.ERRORS,t,n),n?t[n]:t}function ut(t,n){return t=it(V.WARNINGS,t,n),n?t[n]:t}function it(t,n,e){return n||U("get".concat(t[0].toUpperCase()).concat(t.slice(1),"ByGroup requires a group name. Received `").concat(n,"` instead.")),$(t,I(),{group:n,fieldName:e})}function ot(t,n,e){return(e=!t.hasFailures()||e&&!Z(t,e))||(t=t.warns(),e=n===V.WARNINGS!=!!t),!e}function st(t){return ct(V.ERRORS,t)}function at(t){return ct(V.WARNINGS,t)}function ct(t,n){return I().some((function(e){return ot(e,t,n)}))}function ft(t,n){return pt(V.ERRORS,t,n)}function lt(t,n){return pt(V.WARNINGS,t,n)}function pt(t,n,e){return I().some((function(r){return n===r.groupName&&ot(r,t,e)}))}function dt(t){if(t){if("number"==typeof t)return 0===t;if(Object.prototype.hasOwnProperty.call(t,"length"))return t.length===Number(0);if("object"==typeof t)return Object.keys(t).length===Number(0)}return!0}Y.WARNINGS="warnings",Y.ERRORS="errors";var vt=u(dt);var ht=i(20);function gt(){var t=I(),n={stateRef:b()};return ht([t],N.bind(n,(function(){var t=b().suiteName()[0];return v(function(){var t=I(),n=v({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return t.forEach((function(t){var e=t.fieldName,r=t.groupName;n.tests[e]=J(n.tests,t),r&&(n.groups[r]=n.groups[r]||{},n.groups[r][e]=J(n.groups[r],t))})),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)}(),{getErrors:N.bind(n,tt),getErrorsByGroup:N.bind(n,rt),getWarnings:N.bind(n,nt),getWarningsByGroup:N.bind(n,ut),hasErrors:N.bind(n,st),hasErrorsByGroup:N.bind(n,ft),hasWarnings:N.bind(n,at),hasWarningsByGroup:N.bind(n,lt),isValid:N.bind(n,(function(t){var n=gt(),e=I().reduce((function(t,n){return t[n.fieldName]||n.isOmitted()&&(t[n.fieldName]=!0),t}),{});return(e=!!t&&!!e[t])?t=!0:n.hasErrors(t)?t=!1:t=!(dt(e=I())||t&&dt(n.tests[t])||function(t){var n=b().optionalFields()[0];return vt(T().filter((function(e){return!(t&&!Z(e,t))&&!0!==n[e.fieldName]})))}(t))&&function(t){var n=I(),e=b().optionalFields()[0];return n.every((function(n){return!(!t||Z(n,t))||!0===e[n.fieldName]||n.isTested()||n.isOmitted()}))}(t),t})),suiteName:t})})))}function Et(t){var n=T();return!dt(n)&&(t?n.some((function(n){return Z(n,t)})):vt(n))}var mt=i(20);function yt(){var t=I(),n={stateRef:b()};return mt([t],N.bind(n,(function(){return v({},gt(),{done:N.bind(n,St)})})))}function Nt(t,n,e){return!(s(t)&&(!n||e.tests[n]&&!dt(e.tests[n].testCount)))}function bt(t){return!(Et()&&(!t||Et(t)))}function St(){function t(){return r(gt())}for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];return n=n[1],e=yt(),Nt(r,n,e)?e:bt(n)?(t(),e):(Ct(t,n),e)}function Ct(t,n){var e=N.bind({},t);(0,b().testCallbacks()[1])((function(t){return n?t.fieldCallbacks[n]=(t.fieldCallbacks[n]||[]).concat(e):t.doneCallbacks.push(e),t}))}function Rt(t){return t.forEach((function(t){return t()}))}function Tt(){var t=function(){var t={};return{emit:function(n,e){(t[n]||[]).forEach((function(t){t(e)}))},on:function(n,e){return t[n]=(t[n]||[]).concat(e),{off:function(){t[n]=t[n].filter((function(t){return t!==e}))}}}}}();return t.on(It.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var e=b().testCallbacks()[0].fieldCallbacks;n&&!Et(n)&&Array.isArray(e[n])&&Rt(e[n]),Et()||t.emit(It.ALL_RUNNING_TESTS_FINISHED)}})),t.on(It.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var t=b().optionalFields()[0];if(!dt(t)){var n={};R((function(e){return l(e,(function(e){var r=e.fieldName;if(n.hasOwnProperty(r))n[e.fieldName]&&e.omit();else{var u=t[r];s(u)&&(n[r]=u(),n[e.fieldName]&&e.omit())}return e}))}))}}()})),t.on(It.ALL_RUNNING_TESTS_FINISHED,(function(){Rt(b().testCallbacks()[0].doneCallbacks)})),t.on(It.REMOVE_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&(n.cancel(),function(t){R((function(n){return l(n,(function(n){return t!==n?n:null}))}))}(n))}))})),t.on(It.RESET_FIELD,(function(t){I().forEach((function(n){Z(n,t)&&n.reset()}))})),t}function At(){var t=N.useX();return t.bus||U(),t.bus}var It,kt=It||(It={});function Ot(t){return Lt(0,"tests",t)}function _t(t){return Lt(1,"tests",t)}function Lt(t,n,e){var u=N.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){r(e)&&(u.exclusion[n][e]=0===t)}))}function Ft(t){for(var n in t)if(!0===t[n])return!0;return!1}function Gt(t){U("Wrong arguments passed to group. Group ".concat(t,"."))}kt.TEST_COMPLETED="test_completed",kt.ALL_RUNNING_TESTS_FINISHED="all_running_tests_finished",kt.REMOVE_FIELD="remove_field",kt.RESET_FIELD="reset_field",kt.SUITE_CALLBACK_DONE_RUNNING="suite_callback_done_running",Ot.group=function(t){return Lt(0,"groups",t)},_t.group=function(t){return Lt(1,"groups",t)};var Pt=u(r);function Wt(t){var n=t.asyncTest,e=t.message;if(n&&s(n.then)){var u=At().emit,i=b(),o=N.bind({stateRef:i},(function(){C(),u(It.TEST_COMPLETED,t)}));i=N.bind({stateRef:i},(function(n){t.isCanceled()||(t.message=r(n)?n:e,t.fail(),o())}));try{n.then(o,i)}catch(t){i()}}}function Xt(t){var n=S()[0].prev;if(dt(n))return wt(t),t;var e=M();if(n=d(n,e)[f(e)],!j(t.key)){n=t.key,(e=N.useX().isolate.keys.prev[n])&&(t=e),e=t;var r=N.useX().isolate.keys.current;return j(r[n])?r[n]=e:x('Encountered the same test key "'.concat(n,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),wt(t),t}return!vt(e=n)||e.fieldName===t.fieldName&&e.groupName===t.groupName||(N.useX().isolate.type===g.EACH||x("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(n.fieldName,"\n received: ").concat(t.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var t=S(),n=t[1],e=t[0].prev;t=d(e,M());var r=N.useX().testCursor.cursorAt();t.splice(r),n((function(t){return{prev:e,current:t.current}}))}(),n=null),wt(t=c(n,t)),t}function wt(t){var n=M();R((function(e){return d(e,n)[f(n)]=t,e}))}function Dt(t){var n=m.EAGER;if(n=!(N.useX().mode[0]!==n||!st(t.fieldName)))return t.skip(),Xt(t),q(),t;if(n=Xt(t),N.useX().omitted)return n.omit(),q(),n;if(function(t){var n=t.fieldName;if(t=t.groupName,N.useX().skipped)return!0;var e=N.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[n];if(!1===i)return!0;if(i=!0===i,t){t:{var o=N.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,t))var s=!1===o[t];else{for(s in o)if(!0===o[s]){s=!0;break t}s=!1}}if(s)return!0;if(!0===r.groups[t])return!(i||!Ft(u)&&!1!==u[n])}r=N.useX().exclusion;t:{for(c in(s=N.useX().exclusion).groups)if(s.groups[c]){var c=!0;break t}c=!1}return!(!c||t&&t in r.groups&&r.groups[t])||!i&&!!Ft(u)&&!a(e[n])}(t))return n.skip(!!N.useX().skipped),q(),n;if(t!==n&&n.fieldName===t.fieldName&&n.groupName===t.groupName&&n.isPending()&&n.cancel(),wt(t),q(),t.isUntested()){n=At();var e=function(t){return N.run({currentTest:t},(function(){try{var n=t.testFn()}catch(e){n=e,void 0===t.message&&r(n)&&(t.message=e),n=!1}return!1===n&&t.fail(),n}))}(t);try{e&&s(e.then)?(t.asyncTest=e,t.setPending(),Wt(t)):n.emit(It.TEST_COMPLETED,t)}catch(n){U("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(t),".\n Error: ").concat(n,"."))}}else(n=t.asyncTest)&&s(n.then)&&(t.setPending(),Wt(t));return t}function Ut(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=s(n[1])?n:Q([void 0],n,!0);n=r[0],e=r[1],r=r[2],Pt(t)&&Ht("fieldName","string"),s(e)||Ht("Test callback","function");var u=N.useX();return Dt(n=new _(t,e,{message:n,groupName:u.groupName,key:r}))}var xt=v(Ut,{memo:function(t){var n=i(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=N.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[b().suiteId()[0],e,u].concat(i),null===(r=n.get(u))?n(u,(function(){return t(e,s,o)})):r[1].isCanceled()?(n.invalidate(u),n(u,(function(){return t(e,s,o)}))):Dt(r[1])}}(Ut)});function Ht(t,n){U("Incompatible params passed to test function. ".concat(t," must be a ").concat(n))}var Kt="4.2.2";function jt(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=(t=t.reverse())[0];t=t[1],s(r)||U("vest.create: Expected callback to be a function.");var u=Tt(),i=H();return t={stateRef:K(i,{suiteId:e(),suiteName:t}),bus:u},v(N.bind(t,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return i.reset(),B({type:g.SUITE},(function(){r.apply(void 0,t)})),u.emit(It.SUITE_CALLBACK_DONE_RUNNING),yt()})),{get:N.bind(t,gt),remove:N.bind(t,(function(t){u.emit(It.REMOVE_FIELD,t)})),reset:i.reset,resetField:N.bind(t,(function(t){u.emit(It.RESET_FIELD,t)}))})}function Mt(t,n){s(n)||U("each callback must be a function"),B({type:g.EACH},(function(){t.forEach((function(t,e){n(t,e)}))}))}function qt(){var t=m.EAGER;N.useX().mode[0]=t}function Bt(t,n){r(t)||Gt("name must be a string"),s(n)||Gt("callback must be a function"),B({type:g.GROUP},(function(){N.run({groupName:t},n)}))}function Vt(t){function n(n){var e=N.useX(),u=e.exclusion;e.inclusion[t]=function(){return Object.prototype.hasOwnProperty.call(u.tests,t)?c(u.tests[t],!0):r(n)?!!u.tests[n]:a(n,a(gt))}}var e=N.useX();return t?(e.inclusion[t]=c(e.exclusion.tests[t],!0),{when:n}):{when:n}}function Yt(t,n){B({type:g.OMIT_WHEN},(function(){N.run({omitted:!!N.useX().omitted||a(t,a(gt))},(function(){return n()}))}))}function Jt(t){(0,b().optionalFields()[1])((function(n){if(Array.isArray(t)||r(t))[].concat(t).forEach((function(t){n[t]=!0}));else for(var e in t)n[e]=t[e];return n}))}function zt(t,n){B({type:g.SKIP_WHEN},(function(){N.run({skipped:!!N.useX().skipped||a(t,a(gt))},(function(){return n()}))}))}function Qt(){var t=N.useX("warn hook called outside of a running suite.");t.currentTest||U("warn called outside of a test."),t.currentTest.warn()}export{Kt as VERSION,N as context,jt as create,Mt as each,qt as eager,Bt as group,Vt as include,Yt as omitWhen,Ot as only,Jt as optional,_t as skip,zt as skipWhen,xt as test,Qt as warn};
|
|
@@ -2305,12 +2305,13 @@
|
|
|
2305
2305
|
|
|
2306
2306
|
// eslint-disable-next-line max-statements
|
|
2307
2307
|
function registerPrevRunTest(testObject) {
|
|
2308
|
-
var prevRunTest = useTestAtCursor(testObject);
|
|
2309
2308
|
if (shouldSkipBasedOnMode(testObject)) {
|
|
2310
|
-
moveForward();
|
|
2311
2309
|
testObject.skip();
|
|
2310
|
+
useTestAtCursor(testObject);
|
|
2311
|
+
moveForward();
|
|
2312
2312
|
return testObject;
|
|
2313
2313
|
}
|
|
2314
|
+
var prevRunTest = useTestAtCursor(testObject);
|
|
2314
2315
|
if (isOmitted()) {
|
|
2315
2316
|
prevRunTest.omit();
|
|
2316
2317
|
moveForward();
|
|
@@ -2419,7 +2420,7 @@
|
|
|
2419
2420
|
ctx.currentTest.warn();
|
|
2420
2421
|
}
|
|
2421
2422
|
|
|
2422
|
-
var VERSION = "4.2.
|
|
2423
|
+
var VERSION = "4.2.2";
|
|
2423
2424
|
|
|
2424
2425
|
exports.VERSION = VERSION;
|
|
2425
2426
|
exports.context = context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function N(n){return!!n===n}function m(n){return"number"==typeof n}function y(n,t){return n.length===Number(t)}function E(n){if(n){if(m(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return y(n,0);if("object"==typeof n)return y(Object.keys(n),0)}return!0}function b(n,t){return n in t}function S(n){return Number.isNaN(n)}function T(n){return!!c(n)&&0>Number(n)}function C(n){return!!n}function O(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function R(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function I(n,t){return n.length>Number(t)}function k(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function A(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function _(n,t){return o(n)&&o(t)&&n.startsWith(t)}function F(n){for(var e in gt){var r=gt[e];t(r)&&n(e,r)}}function L(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function w(n,t){var e;return null!==(e=L(n))&&void 0!==e?e:t}function P(n,t){throw Error(w(t,n))}function W(n,t){setTimeout((function(){P(n,t)}),0)}function x(n){function t(t,u){var i,o,s=e();return t=Vn({},s||{},null!==(i=L(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:P(w(n,"Context was used after it was closed"))}}}function G(){return null}function X(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function U(){try{return t(Proxy)}catch(n){return!1}}function D(n,t){return n={pass:n},t&&(n.message=t),n}function q(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return N(n)||n&&N(n.pass)||P("Incorrect return value for rule: "+JSON.stringify(n)),N(n)?D(n):D(n.pass,L.apply(void 0,X([n.message,t,e],r,!1)))}function K(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=q.apply(void 0,X([Nt.run({value:n},(function(){return e.apply(void 0,X([n],u,!1))})),r,n],u,!1))).pass){if(!E(i.message))throw i.message;P("enforce/".concat(r," failed with ").concat(JSON.stringify(n)))}return t}}var e={};if(!U())return F((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=gt[e])return t(r,n,e)}});return r}function j(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function B(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=gt[r];e.push((function(n){return q.apply(void 0,X([o.apply(void 0,X([n],u,!1)),r,n],u,!1))}));var s={run:function(n){return w(j(e,(function(e,r){var u,i=Nt.run({value:n},(function(){return e(n)}));i.pass||r(D(!!i.pass,null!==(u=L(t,n,i.message))&&void 0!==u?u:i.message))})),D(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return U()?s=new Proxy(s,{get:function(t,e){return gt[e]?n(e):t[e]}}):(F((function(t){s[t]=n(t)})),s)}}(n)}function H(n){function t(n){return e.findIndex((function(t){var e=t[0];return y(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),I(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function M(n){return(n=[].concat(n))[n.length-1]}function V(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(V(u,t)):(u=t(u),Jn(u)&&e.push(u))}return e}function J(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(J(t)):[].concat(n).concat(t)}),[])}function Y(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=w(n[r],[]),n=n[r]}return n}function z(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return M(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,M(t)},removeLevel:function(){t.pop()},reset:n}}function Q(){return St.useX().stateRef}function Z(){return Q().testObjects()}function $(){(0,Z()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function nn(n){(0,Z()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function tn(){return J(V(Z()[0].current,(function(n){return n.isPending()?n:null})))}function en(){var n=Z()[0].current;return Tt([n],(function(){return J(n)}))}function rn(n){function e(n,t,e){return u.references.push(),r(n,L(t,e)),function(){return[u.references[n],function(t){return r(n,L(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function un(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function on(){return St.useX().testCursor.getCursor()}function sn(){return St.useX().testCursor.next()}function an(n,e){if(n=void 0===(n=n.type)?Bn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=on();return St.run({isolate:{type:n,keys:r}},(function(){St.useX().testCursor.addLevel(),r.prev=function(){var n=Z()[0].prev;return[].concat(Y(n,on())).reduce((function(n,t){return t instanceof Ot&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),nn((function(n){return Y(n,u)[M(u)]=[],n}));var n=e();return St.useX().testCursor.removeLevel(),sn(),n}))}}function cn(n,t){function e(n){i[n===Ct.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(Ct.ERRORS):t.isWarning()&&e(Ct.WARNINGS)),i}function fn(n,t){return!(!t||n.fieldName!==t)}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!fn(e,i)?r=!0:(r=e.warns(),r=n===Ct.WARNINGS!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),mt({},i&&((r={})[i]=[],r)))}function pn(n){return vn(Ct.ERRORS,n)}function dn(n){return vn(Ct.WARNINGS,n)}function vn(n,t){return n=ln(n,en(),{fieldName:t}),t?n[t]:n}function hn(n,t){return n=Nn(Ct.ERRORS,n,t),t?n[t]:n}function gn(n,t){return n=Nn(Ct.WARNINGS,n,t),t?n[t]:n}function Nn(n,t,e){return t||P("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,en(),{group:t,fieldName:e})}function mn(n,t,e){return(e=!n.hasFailures()||e&&!fn(n,e))||(n=n.warns(),e=t===Ct.WARNINGS!=!!n),!e}function yn(n){return bn(Ct.ERRORS,n)}function En(n){return bn(Ct.WARNINGS,n)}function bn(n,t){return en().some((function(e){return mn(e,n,t)}))}function Sn(n,t){return Cn(Ct.ERRORS,n,t)}function Tn(n,t){return Cn(Ct.WARNINGS,n,t)}function Cn(n,t,e){return en().some((function(r){return t===r.groupName&&mn(r,n,e)}))}function On(){var n=en(),t={stateRef:Q()};return Wt([n],St.bind(t,(function(){var n=Q().suiteName()[0];return Vn(function(){var n=en(),t=Vn({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=cn(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=cn(t.groups[r],n))})),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)}(),{getErrors:St.bind(t,pn),getErrorsByGroup:St.bind(t,hn),getWarnings:St.bind(t,dn),getWarningsByGroup:St.bind(t,gn),hasErrors:St.bind(t,yn),hasErrorsByGroup:St.bind(t,Sn),hasWarnings:St.bind(t,En),hasWarningsByGroup:St.bind(t,Tn),isValid:St.bind(t,(function(n){var t=On(),e=en().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=en())||n&&E(t.tests[n])||function(n){var t=Q().optionalFields()[0];return st(tn().filter((function(e){return!(n&&!fn(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=en(),e=Q().optionalFields()[0];return t.every((function(t){return!(!n||fn(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function Rn(n){var t=tn();return!E(t)&&(n?t.some((function(t){return fn(t,n)})):st(t))}function In(){var n=en(),t={stateRef:Q()};return xt([n],St.bind(t,(function(){return Vn({},On(),{done:St.bind(t,Gt)})})))}function kn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function An(n){return!(Rn()&&(!n||Rn(n)))}function _n(n,t){var e=St.bind({},n);(0,Q().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Fn(n){return n.forEach((function(n){return n()}))}function Ln(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Pt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var e=Q().testCallbacks()[0].fieldCallbacks;t&&!Rn(t)&&p(e[t])&&Fn(e[t]),Rn()||n.emit(Pt.ALL_RUNNING_TESTS_FINISHED)}})),n.on(Pt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=Q().optionalFields()[0];if(!E(n)){var e={};nn((function(r){return V(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(Pt.ALL_RUNNING_TESTS_FINISHED,(function(){Fn(Q().testCallbacks()[0].doneCallbacks)})),n.on(Pt.REMOVE_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&(t.cancel(),function(n){nn((function(t){return V(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Pt.RESET_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&t.reset()}))})),n}function wn(){var n=St.useX();return n.bus||P(),n.bus}function Pn(n){return xn(0,"tests",n)}function Wn(n){return xn(1,"tests",n)}function xn(n,t,e){var r=St.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Gn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Xn(n){P("Wrong arguments passed to group. Group ".concat(n,"."))}function Un(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=wn().emit,i=Q(),s=St.bind({stateRef:i},(function(){$(),u(Pt.TEST_COMPLETED,n)}));i=St.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Dn(n){var t=on();nn((function(e){return Y(e,t)[M(t)]=n,e}))}function qn(n){var e=Z()[0].prev;if(E(e))Dn(n),e=n;else{var r=on();if(e=Y(e,r)[M(r)],i(n.key))!st(r=e)||r.fieldName===n.fieldName&&r.groupName===n.groupName||(St.useX().isolate.type!==Bn.EACH&&W("Vest Critical Error: Tests called in different order than previous run.\n expected: ".concat(e.fieldName,"\n received: ").concat(n.fieldName,'\n This can happen on one of two reasons:\n 1. You\'re using if/else statements to conditionally select tests. Instead, use "skipWhen".\n 2. You are iterating over a list of tests, and their order changed. Use "each" and a custom key prop so that Vest retains their state.')),function(){var n=Z(),t=n[1],e=n[0].prev;n=Y(e,on());var r=St.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),e=null),Dn(e=w(e,n));else{e=n.key;var s=St.useX().isolate.keys.prev[e];r=n,s&&(r=s),s=r;var a=St.useX().isolate.keys.current;i(a[e])?a[e]=s:W('Encountered the same test key "'.concat(e,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),Dn(e=r)}}if(r=Mn.EAGER,r=!(St.useX().mode[0]!==r||!yn(n.fieldName)))return sn(),n.skip(),n;if(St.useX().omitted)return e.omit(),sn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,St.useX().skipped)return!0;var e=St.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=St.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!Gn(u)&&!1!==u[t])}r=St.useX().exclusion;n:{for(a in(s=St.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!Gn(u)&&!L(e[t])}(n))return e.skip(!!St.useX().skipped),sn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),Dn(n),sn(),n.isUntested()){e=wn(),r=function(n){return St.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Un(n)):e.emit(Pt.TEST_COMPLETED,n)}catch(t){P("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),Un(n));return n}function Kn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:X([void 0],e,!0);e=u[0],r=u[1],u=u[2],lt(n)&&jn("fieldName","string"),t(r)||jn("Test callback","function");var i=St.useX();return qn(e=new Ot(n,r,{message:e,groupName:i.groupName,key:u}))}function jn(n,t){P("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}var Bn,Hn,Mn,Vn=Object.assign,Jn=e(r),Yn=e(u),zn=e(i),Qn=e(s),Zn=e(a),$n=e(c),nt=e(p),tt=e(d),et=e(h),rt=e(g),ut=e(N),it=e(m),ot=e(y),st=e(E),at=e(b),ct=e(S),ft=e(T),lt=e(o),pt=e(C),dt=e(O),vt=e(k),ht=e(A),gt={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Qn,doesNotStartWith:e(_),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:N,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:pt,isKeyOf:b,isNaN:S,isNegative:T,isNotArray:nt,isNotBetween:et,isNotBlank:rt,isNotBoolean:ut,isNotEmpty:st,isNotKeyOf:at,isNotNaN:ct,isNotNull:Jn,isNotNullish:zn,isNotNumber:it,isNotNumeric:$n,isNotString:lt,isNotUndefined:Yn,isNotValueOf:dt,isNull:r,isNullish:i,isNumber:m,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:ft,isString:o,isTruthy:C,isUndefined:u,isValueOf:O,lengthEquals:y,lengthNotEquals:ot,lessThan:R,lessThanOrEquals:v,longerThan:I,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:R,lte:v,matches:k,notEquals:Zn,notInside:tt,notMatches:vt,numberEquals:A,numberNotEquals:ht,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:_},Nt=x((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Vn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Vn(e,{parent:G})})),mt=function(){return(mt=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)},yt=(Hn={context:function(){return Nt.useX()},extend:function(n){Vn(gt,n)}},U()?new Proxy(Vn(K,Hn),{get:function(n,t){return t in n?n[t]:gt[t]?B(t):void 0}}):(F((function(n){Hn[n]=B(n)})),Vn(K,Hn))),Et=function(n){return function(){return"".concat(n++)}}(0);!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(Bn||(Bn={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(Mn||(Mn={}));var bt,St=x((function(n,t){return t?null:Vn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:Bn.DEFAULT,keys:{current:{},prev:{}}},mode:[Mn.ALL],testCursor:z()},n)})),Tt=H();!function(n){n.Error="error",n.Warning="warning"}(bt||(bt={}));var Ct,Ot=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=Et(),this.severity=bt.Error,this.status=Rt,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==wt||(this.status=n)},n.prototype.warns=function(){return this.severity===bt.Warning},n.prototype.setPending=function(){this.setStatus(Ft)},n.prototype.fail=function(){this.setStatus(this.warns()?At:kt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(_t)},n.prototype.warn=function(){this.severity=bt.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(It)},n.prototype.cancel=function(){this.setStatus(Lt),$()},n.prototype.reset=function(){this.status=Rt,$()},n.prototype.omit=function(){this.setStatus(wt)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(Ft)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(wt)},n.prototype.isUntested=function(){return this.statusEquals(Rt)},n.prototype.isFailing=function(){return this.statusEquals(kt)},n.prototype.isCanceled=function(){return this.statusEquals(Lt)},n.prototype.isSkipped=function(){return this.statusEquals(It)},n.prototype.isPassing=function(){return this.statusEquals(_t)},n.prototype.isWarning=function(){return this.statusEquals(At)},n.prototype.statusEquals=function(n){return this.status===n},n}(),Rt="UNTESTED",It="SKIPPED",kt="FAILED",At="WARNING",_t="PASSING",Ft="PENDING",Lt="CANCELED",wt="OMITTED";!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(Ct||(Ct={}));var Pt,Wt=H(20),xt=H(20),Gt=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=In(),kn(e,n,t))return t;var r=function(){return e(On())};return An(n)?(r(),t):(_n(r,n),t)};!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"}(Pt||(Pt={})),Pn.group=function(n){return xn(0,"groups",n)},Wn.group=function(n){return xn(1,"groups",n)};var Xt=Vn(Kn,{memo:function(n){var t=H(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=St.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[Q().suiteId()[0],e,u].concat(i),null===(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):qn(r[1])}}(Kn)});n.VERSION="4.2.1",n.context=St,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||P("vest.create: Expected callback to be a function.");var u=Ln(),i=rn();return n={stateRef:un(i,{suiteId:Et(),suiteName:n}),bus:u},Vn(St.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:Bn.SUITE},(function(){r.apply(void 0,n)})),u.emit(Pt.SUITE_CALLBACK_DONE_RUNNING),In()})),{get:St.bind(n,On),remove:St.bind(n,(function(n){u.emit(Pt.REMOVE_FIELD,n)})),reset:i.reset,resetField:St.bind(n,(function(n){u.emit(Pt.RESET_FIELD,n)}))})},n.each=function(n,e){t(e)||P("each callback must be a function"),an({type:Bn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.eager=function(){var n=Mn.EAGER;St.useX().mode[0]=n},n.enforce=yt,n.group=function(n,e){o(n)||Xn("name must be a string"),t(e)||Xn("callback must be a function"),an({type:Bn.GROUP},(function(){St.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=St.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?w(r.tests[n],!0):o(t)?!!r.tests[t]:L(t,L(On))}}var e=St.useX();return n?(e.inclusion[n]=w(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){an({type:Bn.OMIT_WHEN},(function(){St.run({omitted:!!St.useX().omitted||L(n,L(On))},(function(){return t()}))}))},n.only=Pn,n.optional=function(n){(0,Q().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=Wn,n.skipWhen=function(n,t){an({type:Bn.SKIP_WHEN},(function(){St.run({skipped:!!St.useX().skipped||L(n,L(On))},(function(){return t()}))}))},n.test=Xt,n.warn=function(){var n=St.useX("warn hook called outside of a running suite.");n.currentTest||P("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).vest={})}(this,(function(n){function t(n){return"function"==typeof n}function e(n){return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return!n.apply(void 0,t)}}function r(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function a(n,t){return n===t}function c(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function f(n,t){return c(n)&&c(t)&&Number(n)>Number(t)}function l(n,t){return c(n)&&c(t)&&Number(n)>=Number(t)}function p(n){return!!Array.isArray(n)}function d(n,t){return!!(p(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function v(n,t){return c(n)&&c(t)&&Number(n)<=Number(t)}function h(n,t,e){return l(n,t)&&v(n,e)}function g(n){return i(n)||o(n)&&!n.trim()}function N(n){return!!n===n}function m(n){return"number"==typeof n}function y(n,t){return n.length===Number(t)}function E(n){if(n){if(m(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return y(n,0);if("object"==typeof n)return y(Object.keys(n),0)}return!0}function b(n,t){return n in t}function S(n){return Number.isNaN(n)}function T(n){return!!c(n)&&0>Number(n)}function C(n){return!!n}function O(n,t){if(i(t))return!1;for(var e in t)if(t[e]===n)return!0;return!1}function R(n,t){return c(n)&&c(t)&&Number(n)<Number(t)}function I(n,t){return n.length>Number(t)}function k(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function A(n,t){return c(n)&&c(t)&&Number(n)===Number(t)}function _(n,t){return o(n)&&o(t)&&n.startsWith(t)}function F(n){for(var e in Nt){var r=Nt[e];t(r)&&n(e,r)}}function L(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return t(n)?n.apply(void 0,e):n}function w(n,t){var e;return null!==(e=L(n))&&void 0!==e?e:t}function P(n,t){throw Error(w(t,n))}function W(n,t){setTimeout((function(){P(n,t)}),0)}function x(n){function t(t,u){var i,o,s=e();return t=Jn({},s||{},null!==(i=L(n,t,s))&&void 0!==i?i:t),i=r.ctx=Object.freeze(t),r.ancestry.unshift(i),u=u(i),r.ancestry.shift(),r.ctx=null!==(o=r.ancestry[0])&&void 0!==o?o:null,u}function e(){return r.ctx}var r={ancestry:[]};return{bind:function(n,e){return function(){for(var r=[],u=0;u<arguments.length;u++)r[u]=arguments[u];return t(n,(function(){return e.apply(void 0,r)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=r.ctx)&&void 0!==t?t:P(w(n,"Context was used after it was closed"))}}}function G(){return null}function X(n,t,e){if(e||2===arguments.length)for(var r,u=0,i=t.length;u<i;u++)!r&&u in t||(r||(r=Array.prototype.slice.call(t,0,u)),r[u]=t[u]);return n.concat(r||Array.prototype.slice.call(t))}function U(){try{return t(Proxy)}catch(n){return!1}}function D(n,t){return n={pass:n},t&&(n.message=t),n}function q(n,t,e){for(var r=[],u=3;u<arguments.length;u++)r[u-3]=arguments[u];return N(n)||n&&N(n.pass)||P("Incorrect return value for rule: "+JSON.stringify(n)),N(n)?D(n):D(n.pass,L.apply(void 0,X([n.message,t,e],r,!1)))}function K(n){function t(t,e,r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];if(!(i=q.apply(void 0,X([mt.run({value:n},(function(){return e.apply(void 0,X([n],u,!1))})),r,n],u,!1))).pass){if(!E(i.message))throw i.message;P("enforce/".concat(r," failed with ").concat(JSON.stringify(n)))}return t}}var e={};if(!U())return F((function(n,r){e[n]=t(e,r,n)})),e;var r=new Proxy(e,{get:function(n,e){if(n=Nt[e])return t(r,n,e)}});return r}function j(n,t){function e(n){r=!0,u=n}for(var r=!1,u=null,i=0;i<n.length;i++)if(t(n[i],e,i),r)return u}function B(n){var t,e=[];return function n(r){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=Nt[r];e.push((function(n){return q.apply(void 0,X([o.apply(void 0,X([n],u,!1)),r,n],u,!1))}));var s={run:function(n){return w(j(e,(function(e,r){var u,i=mt.run({value:n},(function(){return e(n)}));i.pass||r(D(!!i.pass,null!==(u=L(t,n,i.message))&&void 0!==u?u:i.message))})),D(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return U()?s=new Proxy(s,{get:function(t,e){return Nt[e]?n(e):t[e]}}):(F((function(t){s[t]=n(t)})),s)}}(n)}function H(n){function t(n){return e.findIndex((function(t){var e=t[0];return y(n,e.length)&&n.every((function(n,t){return n===e[t]}))}))}void 0===n&&(n=1);var e=[],r=function(t,u){var i=r.get(t);return i?i[1]:(u=u(),e.unshift([t.concat(),u]),I(e,n)&&(e.length=n),u)};return r.invalidate=function(n){-1<(n=t(n))&&e.splice(n,1)},r.get=function(n){return e[t(n)]||null},r}function M(n){return(n=[].concat(n))[n.length-1]}function V(n,t){for(var e=[],r=0;r<n.length;r++){var u=n[r];p(u)?e.push(V(u,t)):(u=t(u),Yn(u)&&e.push(u))}return e}function J(n){return[].concat(n).reduce((function(n,t){return p(t)?n.concat(J(t)):[].concat(n).concat(t)}),[])}function Y(n,t){var e=0;for(t=t.slice(0,-1);e<t.length;e++){var r=t[e];n[r]=w(n[r],[]),n=n[r]}return n}function z(){function n(){t=[0]}var t=[];return n(),{addLevel:function(){t.push(0)},cursorAt:function(){return M(t)},getCursor:function(){return[].concat(t)},next:function(){return t[t.length-1]++,M(t)},removeLevel:function(){t.pop()},reset:n}}function Q(){return Tt.useX().stateRef}function Z(){return Q().testObjects()}function $(){(0,Z()[1])((function(n){return{prev:n.prev,current:[].concat(n.current)}}))}function nn(n){(0,Z()[1])((function(t){return{prev:t.prev,current:[].concat(n(t.current))}}))}function tn(){return J(V(Z()[0].current,(function(n){return n.isPending()?n:null})))}function en(){var n=Z()[0].current;return Ct([n],(function(){return J(n)}))}function rn(n){function e(n,t,e){return u.references.push(),r(n,L(t,e)),function(){return[u.references[n],function(t){return r(n,L(t,u.references[n]))}]}}function r(e,r){var o=u.references[e];u.references[e]=r,t(e=i[e][1])&&e(r,o),t(n)&&n()}var u={references:[]},i=[];return{registerStateKey:function(n,t){var r=i.length;return i.push([n,t]),e(r,n)},reset:function(){var n=u.references;u.references=[],i.forEach((function(t,r){return e(r,t[0],n[r])}))}}}function un(n,t){var e=t.suiteId;return t=t.suiteName,{optionalFields:n.registerStateKey((function(){return{}})),suiteId:n.registerStateKey(e),suiteName:n.registerStateKey(t),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(n){return{prev:n?n.current:[],current:[]}}))}}function on(){return Tt.useX().testCursor.getCursor()}function sn(){return Tt.useX().testCursor.next()}function an(n,e){if(n=void 0===(n=n.type)?Hn.DEFAULT:n,t(e)){var r={current:{},prev:{}},u=on();return Tt.run({isolate:{type:n,keys:r}},(function(){Tt.useX().testCursor.addLevel(),r.prev=function(){var n=Z()[0].prev;return[].concat(Y(n,on())).reduce((function(n,t){return t instanceof Rt&&!i(t.key)?(n[t.key]=t,n):n}),{})}(),nn((function(n){return Y(n,u)[M(u)]=[],n}));var n=e();return Tt.useX().testCursor.removeLevel(),sn(),n}))}}function cn(n,t){function e(n){i[n===Ot.ERRORS?"errorCount":"warnCount"]++,u&&(i[n]=(i[n]||[]).concat(u))}var r=t.fieldName,u=t.message;n[r]=n[r]||{errorCount:0,warnCount:0,testCount:0};var i=n[r];return t.isNonActionable()||(n[r].testCount++,t.isFailing()?e(Ot.ERRORS):t.isWarning()&&e(Ot.WARNINGS)),i}function fn(n,t){return!(!t||n.fieldName!==t)}function ln(n,t,e){var r;void 0===e&&(e={});var u=(e=e||{}).group,i=e.fieldName;return t.reduce((function(t,e){if(u&&e.groupName!==u)var r=!0;else i&&!fn(e,i)?r=!0:(r=e.warns(),r=n===Ot.WARNINGS!=!!r);return r||!e.hasFailures()||(t[e.fieldName]=(t[e.fieldName]||[]).concat(e.message||[])),t}),yt({},i&&((r={})[i]=[],r)))}function pn(n){return vn(Ot.ERRORS,n)}function dn(n){return vn(Ot.WARNINGS,n)}function vn(n,t){return n=ln(n,en(),{fieldName:t}),t?n[t]:n}function hn(n,t){return n=Nn(Ot.ERRORS,n,t),t?n[t]:n}function gn(n,t){return n=Nn(Ot.WARNINGS,n,t),t?n[t]:n}function Nn(n,t,e){return t||P("get".concat(n[0].toUpperCase()).concat(n.slice(1),"ByGroup requires a group name. Received `").concat(t,"` instead.")),ln(n,en(),{group:t,fieldName:e})}function mn(n,t,e){return(e=!n.hasFailures()||e&&!fn(n,e))||(n=n.warns(),e=t===Ot.WARNINGS!=!!n),!e}function yn(n){return bn(Ot.ERRORS,n)}function En(n){return bn(Ot.WARNINGS,n)}function bn(n,t){return en().some((function(e){return mn(e,n,t)}))}function Sn(n,t){return Cn(Ot.ERRORS,n,t)}function Tn(n,t){return Cn(Ot.WARNINGS,n,t)}function Cn(n,t,e){return en().some((function(r){return t===r.groupName&&mn(r,n,e)}))}function On(){var n=en(),t={stateRef:Q()};return xt([n],Tt.bind(t,(function(){var n=Q().suiteName()[0];return Jn(function(){var n=en(),t=Jn({errorCount:0,warnCount:0,testCount:0},{groups:{},tests:{}});return n.forEach((function(n){var e=n.fieldName,r=n.groupName;t.tests[e]=cn(t.tests,n),r&&(t.groups[r]=t.groups[r]||{},t.groups[r][e]=cn(t.groups[r],n))})),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)}(),{getErrors:Tt.bind(t,pn),getErrorsByGroup:Tt.bind(t,hn),getWarnings:Tt.bind(t,dn),getWarningsByGroup:Tt.bind(t,gn),hasErrors:Tt.bind(t,yn),hasErrorsByGroup:Tt.bind(t,Sn),hasWarnings:Tt.bind(t,En),hasWarningsByGroup:Tt.bind(t,Tn),isValid:Tt.bind(t,(function(n){var t=On(),e=en().reduce((function(n,t){return n[t.fieldName]||t.isOmitted()&&(n[t.fieldName]=!0),n}),{});return(e=!!n&&!!e[n])?n=!0:t.hasErrors(n)?n=!1:n=!(E(e=en())||n&&E(t.tests[n])||function(n){var t=Q().optionalFields()[0];return at(tn().filter((function(e){return!(n&&!fn(e,n))&&!0!==t[e.fieldName]})))}(n))&&function(n){var t=en(),e=Q().optionalFields()[0];return t.every((function(t){return!(!n||fn(t,n))||!0===e[t.fieldName]||t.isTested()||t.isOmitted()}))}(n),n})),suiteName:n})})))}function Rn(n){var t=tn();return!E(t)&&(n?t.some((function(t){return fn(t,n)})):at(t))}function In(){var n=en(),t={stateRef:Q()};return Gt([n],Tt.bind(t,(function(){return Jn({},On(),{done:Tt.bind(t,Xt)})})))}function kn(n,e,r){return!(t(n)&&(!e||r.tests[e]&&!E(r.tests[e].testCount)))}function An(n){return!(Rn()&&(!n||Rn(n)))}function _n(n,t){var e=Tt.bind({},n);(0,Q().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(e):n.doneCallbacks.push(e),n}))}function Fn(n){return n.forEach((function(n){return n()}))}function Ln(){var n=function(){var n={};return{emit:function(t,e){(n[t]||[]).forEach((function(n){n(e)}))},on:function(t,e){return n[t]=(n[t]||[]).concat(e),{off:function(){n[t]=n[t].filter((function(n){return n!==e}))}}}}}();return n.on(Wt.TEST_COMPLETED,(function(t){if(!t.isCanceled()){t.done(),t=t.fieldName;var e=Q().testCallbacks()[0].fieldCallbacks;t&&!Rn(t)&&p(e[t])&&Fn(e[t]),Rn()||n.emit(Wt.ALL_RUNNING_TESTS_FINISHED)}})),n.on(Wt.SUITE_CALLBACK_DONE_RUNNING,(function(){!function(){var n=Q().optionalFields()[0];if(!E(n)){var e={};nn((function(r){return V(r,(function(r){var u=r.fieldName;if(e.hasOwnProperty(u))e[r.fieldName]&&r.omit();else{var i=n[u];t(i)&&(e[u]=i(),e[r.fieldName]&&r.omit())}return r}))}))}}()})),n.on(Wt.ALL_RUNNING_TESTS_FINISHED,(function(){Fn(Q().testCallbacks()[0].doneCallbacks)})),n.on(Wt.REMOVE_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&(t.cancel(),function(n){nn((function(t){return V(t,(function(t){return n!==t?t:null}))}))}(t))}))})),n.on(Wt.RESET_FIELD,(function(n){en().forEach((function(t){fn(t,n)&&t.reset()}))})),n}function wn(){var n=Tt.useX();return n.bus||P(),n.bus}function Pn(n){return xn(0,"tests",n)}function Wn(n){return xn(1,"tests",n)}function xn(n,t,e){var r=Tt.useX("hook called outside of a running suite.");e&&[].concat(e).forEach((function(e){o(e)&&(r.exclusion[t][e]=0===n)}))}function Gn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Xn(n){P("Wrong arguments passed to group. Group ".concat(n,"."))}function Un(n){var e=n.asyncTest,r=n.message;if(e&&t(e.then)){var u=wn().emit,i=Q(),s=Tt.bind({stateRef:i},(function(){$(),u(Wt.TEST_COMPLETED,n)}));i=Tt.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=o(t)?t:r,n.fail(),s())}));try{e.then(s,i)}catch(n){i()}}}function Dn(n){var t=Z()[0].prev;if(E(t))return qn(n),n;var e=on();if(t=Y(t,e)[M(e)],!i(n.key)){t=n.key,(e=Tt.useX().isolate.keys.prev[t])&&(n=e),e=n;var r=Tt.useX().isolate.keys.current;return i(r[t])?r[t]=e:W('Encountered the same test key "'.concat(t,"\" twice. This may lead to tests overriding each other's results, or to tests being unexpectedly omitted.")),qn(n),n}return!at(e=t)||e.fieldName===n.fieldName&&e.groupName===n.groupName||(Tt.useX().isolate.type===Hn.EACH||W("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.')),function(){var n=Z(),t=n[1],e=n[0].prev;n=Y(e,on());var r=Tt.useX().testCursor.cursorAt();n.splice(r),t((function(n){return{prev:e,current:n.current}}))}(),t=null),qn(n=w(t,n)),n}function qn(n){var t=on();nn((function(e){return Y(e,t)[M(t)]=n,e}))}function Kn(n){var e=Vn.EAGER;if(e=!(Tt.useX().mode[0]!==e||!yn(n.fieldName)))return n.skip(),Dn(n),sn(),n;if(e=Dn(n),Tt.useX().omitted)return e.omit(),sn(),e;if(function(n){var t=n.fieldName;if(n=n.groupName,Tt.useX().skipped)return!0;var e=Tt.useX(),r=e.exclusion;e=e.inclusion;var u=r.tests,i=u[t];if(!1===i)return!0;if(i=!0===i,n){n:{var o=Tt.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(o,n))var s=!1===o[n];else{for(s in o)if(!0===o[s]){s=!0;break n}s=!1}}if(s)return!0;if(!0===r.groups[n])return!(i||!Gn(u)&&!1!==u[t])}r=Tt.useX().exclusion;n:{for(a in(s=Tt.useX().exclusion).groups)if(s.groups[a]){var a=!0;break n}a=!1}return!(!a||n&&n in r.groups&&r.groups[n])||!i&&!!Gn(u)&&!L(e[t])}(n))return e.skip(!!Tt.useX().skipped),sn(),e;if(n!==e&&e.fieldName===n.fieldName&&e.groupName===n.groupName&&e.isPending()&&e.cancel(),qn(n),sn(),n.isUntested()){e=wn();var r=function(n){return Tt.run({currentTest:n},(function(){try{var t=n.testFn()}catch(e){t=e,u(n.message)&&o(t)&&(n.message=e),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&t(r.then)?(n.asyncTest=r,n.setPending(),Un(n)):e.emit(Wt.TEST_COMPLETED,n)}catch(t){P("Unexpected error encountered during test registration.\n Test Object: ".concat(JSON.stringify(n),".\n Error: ").concat(t,"."))}}else(e=n.asyncTest)&&t(e.then)&&(n.setPending(),Un(n));return n}function jn(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var u=t(e[1])?e:X([void 0],e,!0);e=u[0],r=u[1],u=u[2],pt(n)&&Bn("fieldName","string"),t(r)||Bn("Test callback","function");var i=Tt.useX();return Kn(e=new Rt(n,r,{message:e,groupName:i.groupName,key:u}))}function Bn(n,t){P("Incompatible params passed to test function. ".concat(n," must be a ").concat(t))}var Hn,Mn,Vn,Jn=Object.assign,Yn=e(r),zn=e(u),Qn=e(i),Zn=e(s),$n=e(a),nt=e(c),tt=e(p),et=e(d),rt=e(h),ut=e(g),it=e(N),ot=e(m),st=e(y),at=e(E),ct=e(b),ft=e(S),lt=e(T),pt=e(o),dt=e(C),vt=e(O),ht=e(k),gt=e(A),Nt={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Zn,doesNotStartWith:e(_),endsWith:s,equals:a,greaterThan:f,greaterThanOrEquals:l,gt:f,gte:l,inside:d,isArray:p,isBetween:h,isBlank:g,isBoolean:N,isEmpty:E,isEven:function(n){return!!c(n)&&0==n%2},isFalsy:dt,isKeyOf:b,isNaN:S,isNegative:T,isNotArray:tt,isNotBetween:rt,isNotBlank:ut,isNotBoolean:it,isNotEmpty:at,isNotKeyOf:ct,isNotNaN:ft,isNotNull:Yn,isNotNullish:Qn,isNotNumber:ot,isNotNumeric:nt,isNotString:pt,isNotUndefined:zn,isNotValueOf:vt,isNull:r,isNullish:i,isNumber:m,isNumeric:c,isOdd:function(n){return!!c(n)&&0!=n%2},isPositive:lt,isString:o,isTruthy:C,isUndefined:u,isValueOf:O,lengthEquals:y,lengthNotEquals:st,lessThan:R,lessThanOrEquals:v,longerThan:I,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:R,lte:v,matches:k,notEquals:$n,notInside:et,notMatches:ht,numberEquals:A,numberNotEquals:gt,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:_},mt=x((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?Jn(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Jn(e,{parent:G})})),yt=function(){return(yt=Object.assign||function(n){for(var t,e=1,r=arguments.length;e<r;e++)for(var u in t=arguments[e])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n}).apply(this,arguments)},Et=(Mn={context:function(){return mt.useX()},extend:function(n){Jn(Nt,n)}},U()?new Proxy(Jn(K,Mn),{get:function(n,t){return t in n?n[t]:Nt[t]?B(t):void 0}}):(F((function(n){Mn[n]=B(n)})),Jn(K,Mn))),bt=function(n){return function(){return"".concat(n++)}}(0);!function(n){n[n.DEFAULT=0]="DEFAULT",n[n.SUITE=1]="SUITE",n[n.EACH=2]="EACH",n[n.SKIP_WHEN=3]="SKIP_WHEN",n[n.OMIT_WHEN=4]="OMIT_WHEN",n[n.GROUP=5]="GROUP"}(Hn||(Hn={})),function(n){n[n.ALL=0]="ALL",n[n.EAGER=1]="EAGER"}(Vn||(Vn={}));var St,Tt=x((function(n,t){return t?null:Jn({},{exclusion:{tests:{},groups:{}},inclusion:{},isolate:{type:Hn.DEFAULT,keys:{current:{},prev:{}}},mode:[Vn.ALL],testCursor:z()},n)})),Ct=H();!function(n){n.Error="error",n.Warning="warning"}(St||(St={}));var Ot,Rt=function(){function n(n,t,e){var r=void 0===e?{}:e;e=r.message;var u=r.groupName;r=r.key,this.key=null,this.id=bt(),this.severity=St.Error,this.status=It,this.fieldName=n,this.testFn=t,u&&(this.groupName=u),e&&(this.message=e),r&&(this.key=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,u(this.message)&&o(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()&&n!==Pt||(this.status=n)},n.prototype.warns=function(){return this.severity===St.Warning},n.prototype.setPending=function(){this.setStatus(Lt)},n.prototype.fail=function(){this.setStatus(this.warns()?_t:At)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Ft)},n.prototype.warn=function(){this.severity=St.Warning},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(n){this.isPending()&&!n||this.setStatus(kt)},n.prototype.cancel=function(){this.setStatus(wt),$()},n.prototype.reset=function(){this.status=It,$()},n.prototype.omit=function(){this.setStatus(Pt)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isNonActionable=function(){return this.isSkipped()||this.isOmitted()||this.isCanceled()},n.prototype.isPending=function(){return this.statusEquals(Lt)},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isOmitted=function(){return this.statusEquals(Pt)},n.prototype.isUntested=function(){return this.statusEquals(It)},n.prototype.isFailing=function(){return this.statusEquals(At)},n.prototype.isCanceled=function(){return this.statusEquals(wt)},n.prototype.isSkipped=function(){return this.statusEquals(kt)},n.prototype.isPassing=function(){return this.statusEquals(Ft)},n.prototype.isWarning=function(){return this.statusEquals(_t)},n.prototype.statusEquals=function(n){return this.status===n},n}(),It="UNTESTED",kt="SKIPPED",At="FAILED",_t="WARNING",Ft="PASSING",Lt="PENDING",wt="CANCELED",Pt="OMITTED";!function(n){n.WARNINGS="warnings",n.ERRORS="errors"}(Ot||(Ot={}));var Wt,xt=H(20),Gt=H(20),Xt=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e=(n=n.reverse())[0];if(n=n[1],t=In(),kn(e,n,t))return t;var r=function(){return e(On())};return An(n)?(r(),t):(_n(r,n),t)};!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"}(Wt||(Wt={})),Pn.group=function(n){return xn(0,"groups",n)},Wn.group=function(n){return xn(1,"groups",n)};var Ut=Jn(jn,{memo:function(n){var t=H(100);return function(e){for(var r=[],u=1;u<arguments.length;u++)r[u-1]=arguments[u];u=Tt.useX().testCursor.cursorAt();var i=(r=r.reverse())[0],o=r[1],s=r[2];return u=[Q().suiteId()[0],e,u].concat(i),null===(r=t.get(u))?t(u,(function(){return n(e,s,o)})):r[1].isCanceled()?(t.invalidate(u),t(u,(function(){return n(e,s,o)}))):Kn(r[1])}}(jn)});n.VERSION="4.2.2",n.context=Tt,n.create=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=(n=n.reverse())[0];n=n[1],t(r)||P("vest.create: Expected callback to be a function.");var u=Ln(),i=rn();return n={stateRef:un(i,{suiteId:bt(),suiteName:n}),bus:u},Jn(Tt.bind(n,(function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return i.reset(),an({type:Hn.SUITE},(function(){r.apply(void 0,n)})),u.emit(Wt.SUITE_CALLBACK_DONE_RUNNING),In()})),{get:Tt.bind(n,On),remove:Tt.bind(n,(function(n){u.emit(Wt.REMOVE_FIELD,n)})),reset:i.reset,resetField:Tt.bind(n,(function(n){u.emit(Wt.RESET_FIELD,n)}))})},n.each=function(n,e){t(e)||P("each callback must be a function"),an({type:Hn.EACH},(function(){n.forEach((function(n,t){e(n,t)}))}))},n.eager=function(){var n=Vn.EAGER;Tt.useX().mode[0]=n},n.enforce=Et,n.group=function(n,e){o(n)||Xn("name must be a string"),t(e)||Xn("callback must be a function"),an({type:Hn.GROUP},(function(){Tt.run({groupName:n},e)}))},n.include=function(n){function t(t){var e=Tt.useX(),r=e.exclusion;e.inclusion[n]=function(){return Object.prototype.hasOwnProperty.call(r.tests,n)?w(r.tests[n],!0):o(t)?!!r.tests[t]:L(t,L(On))}}var e=Tt.useX();return n?(e.inclusion[n]=w(e.exclusion.tests[n],!0),{when:t}):{when:t}},n.omitWhen=function(n,t){an({type:Hn.OMIT_WHEN},(function(){Tt.run({omitted:!!Tt.useX().omitted||L(n,L(On))},(function(){return t()}))}))},n.only=Pn,n.optional=function(n){(0,Q().optionalFields()[1])((function(t){if(p(n)||o(n))[].concat(n).forEach((function(n){t[n]=!0}));else for(var e in n)t[e]=n[e];return t}))},n.skip=Wn,n.skipWhen=function(n,t){an({type:Hn.SKIP_WHEN},(function(){Tt.run({skipped:!!Tt.useX().skipped||L(n,L(On))},(function(){return t()}))}))},n.test=Ut,n.warn=function(){var n=Tt.useX("warn hook called outside of a running suite.");n.currentTest||P("warn called outside of a test."),n.currentTest.warn()},Object.defineProperty(n,"__esModule",{value:!0})}));
|
package/package.json
CHANGED
package/types/vest.d.ts
CHANGED
|
@@ -344,6 +344,6 @@ declare const test: typeof testBase & {
|
|
|
344
344
|
* Sets a running test to warn only mode.
|
|
345
345
|
*/
|
|
346
346
|
declare function warn(): void;
|
|
347
|
-
declare const VERSION = "4.2.
|
|
347
|
+
declare const VERSION = "4.2.2";
|
|
348
348
|
export { test, create, each, only, skip, warn, group, optional, skipWhen, omitWhen, enforce, VERSION, context, include, eager };
|
|
349
349
|
export type { SuiteResult, SuiteRunResult, VestTest };
|