vest 4.0.0-dev-deabb8 → 4.0.0-dev-f53683
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/CHANGELOG.md +3 -2
- package/dist/cjs/vest.development.js +7 -5
- package/dist/cjs/vest.production.js +1 -1
- package/dist/es/vest.development.js +7 -5
- package/dist/es/vest.production.js +1 -1
- package/dist/umd/vest.development.js +7 -5
- package/dist/umd/vest.production.js +1 -1
- package/package.json +1 -1
- package/types/vest.d.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## 4.0.0 - 2021-10-
|
|
7
|
+
## 4.0.0 - 2021-10-07
|
|
8
8
|
### Changed or removed
|
|
9
9
|
- 0e3af10 major(context): used named export in context (ealush)
|
|
10
10
|
- 1897164 major(vest, enforce): setup next major version (ealush)
|
|
@@ -19,7 +19,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
|
|
|
19
19
|
- f41a444 feat(n4s): context propagation within enforce (undefined)
|
|
20
20
|
|
|
21
21
|
### Fixed and improved
|
|
22
|
-
-
|
|
22
|
+
- f536834 fix(vest): prevent changing test status once it was finalized (ealush)
|
|
23
|
+
- df64c2e patch(vest): add cache invalidation for canceled tests (ealush)
|
|
23
24
|
- fd1e31e types(vest): add safeguard around shouldUseErrorAsMessage (ealush)
|
|
24
25
|
- 8321a36 patch(vest): some cleanups (ealush)
|
|
25
26
|
- 8320956 patch(vest): remove duplicate code handling perv test registration (ealush)
|
|
@@ -902,9 +902,8 @@ function createCache(maxSize) {
|
|
|
902
902
|
return cacheHit[1];
|
|
903
903
|
var result = cacheAction();
|
|
904
904
|
cacheStorage.unshift([deps.concat(), result]);
|
|
905
|
-
if (cacheStorage.length > maxSize)
|
|
905
|
+
if (cacheStorage.length > maxSize)
|
|
906
906
|
cacheStorage.length = maxSize;
|
|
907
|
-
}
|
|
908
907
|
return result;
|
|
909
908
|
};
|
|
910
909
|
// invalidate an item in the cache by its dependencies
|
|
@@ -1643,7 +1642,7 @@ var VestTest = /** @class */ (function () {
|
|
|
1643
1642
|
return result;
|
|
1644
1643
|
};
|
|
1645
1644
|
VestTest.prototype.setStatus = function (status) {
|
|
1646
|
-
if (this.
|
|
1645
|
+
if (this.isFinalStatus()) {
|
|
1647
1646
|
return;
|
|
1648
1647
|
}
|
|
1649
1648
|
this.status = status;
|
|
@@ -1655,7 +1654,7 @@ var VestTest = /** @class */ (function () {
|
|
|
1655
1654
|
this.setStatus(this.warns ? STATUS_WARNING : STATUS_FAILED);
|
|
1656
1655
|
};
|
|
1657
1656
|
VestTest.prototype.done = function () {
|
|
1658
|
-
if (this.
|
|
1657
|
+
if (this.isFinalStatus()) {
|
|
1659
1658
|
return;
|
|
1660
1659
|
}
|
|
1661
1660
|
this.setStatus(STATUS_PASSING);
|
|
@@ -1663,6 +1662,9 @@ var VestTest = /** @class */ (function () {
|
|
|
1663
1662
|
VestTest.prototype.warn = function () {
|
|
1664
1663
|
this.warns = true;
|
|
1665
1664
|
};
|
|
1665
|
+
VestTest.prototype.isFinalStatus = function () {
|
|
1666
|
+
return this.hasFailures() || this.isCanceled() || this.isPassing();
|
|
1667
|
+
};
|
|
1666
1668
|
VestTest.prototype.skip = function () {
|
|
1667
1669
|
this.setStatus(STATUS_SKIPPED);
|
|
1668
1670
|
};
|
|
@@ -1901,7 +1903,7 @@ var test = assign(testBase, {
|
|
|
1901
1903
|
memo: bindTestMemo(testBase)
|
|
1902
1904
|
});
|
|
1903
1905
|
|
|
1904
|
-
var VERSION = "4.0.0-dev-
|
|
1906
|
+
var VERSION = "4.0.0-dev-f53683";
|
|
1905
1907
|
|
|
1906
1908
|
exports.VERSION = VERSION;
|
|
1907
1909
|
exports.create = create;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=function(){return n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n},n.apply(this,arguments)};function t(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||t)}var r=Object.assign;function e(n){return"function"==typeof n}function u(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(){return s(!1)}function f(){return s(!0)}function c(n){return o(n,a())}function l(n){return o(n,f())}function p(n,t){try{return n.run(t)}catch(n){return a()}}function v(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return l(u(t,(function(t,r){(t=p(t,n)).pass||r(t)})))}function g(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return c(u(t,(function(t,r){(t=p(t,n)).pass&&r(t)})))}function d(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return l(u(t,(function(t,r){p(t,n).pass&&r(a())})))}function h(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function y(n,t){return n.length===Number(t)}var m=h(y);function N(n,t){return n.length>Number(t)}function b(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(N(e,1))return!1;(t=p(t,n)).pass&&e.push(t)})),s(y(e,1))}function E(n){return null===n}var C=h(E);function O(n){return void 0===n}var x=h(O);function w(n,t){return O(n)||E(n)?f():p(t,n)}function S(n){return String(n)===n}function T(n,t){return S(n)&&S(t)&&n.endsWith(t)}var P=h(T);function k(n,t){return n===t}var F=h(k);function W(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var A=h(W);function j(n,t){return W(n)&&W(t)&&Number(n)>Number(t)}function I(n,t){return W(n)&&W(t)&&Number(n)>=Number(t)}function R(n,t){return!!(Array.isArray(t)||S(t)&&S(n))&&-1!==t.indexOf(n)}var q=h(R);function B(n){return!!Array.isArray(n)}var D=h(B);function G(n,t){return W(n)&&W(t)&&Number(n)<=Number(t)}function X(n,t,r){return I(n,t)&&G(n,r)}var K=h(X);function _(n){return!!n===n}var L=h(_);function M(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function U(n){return"number"==typeof n}var J=h(U);function z(n){if(n){if(U(n))return 0===n;if(M(n,"length"))return y(n,0);if("object"==typeof n)return y(Object.keys(n),0)}return!0}var V=h(z),Y=function(n){return!!W(n)&&0==n%2};function H(n){return Number.isNaN(n)}var Q=h(H);function Z(n){return!!W(n)&&0>Number(n)}var $=h(Z),nn=function(n){return!!W(n)&&0!=n%2},tn=h(S);function rn(n){return!!n}var en=h(rn);function un(n,t){return W(n)&&W(t)&&Number(n)<Number(t)}function on(n,t){return n.length>=Number(t)}function sn(n,t){return t instanceof RegExp?t.test(n):!!S(t)&&new RegExp(t).test(n)}var an=h(sn);function fn(n,t){return W(n)&&W(t)&&Number(n)===Number(t)}var cn=h(fn);function ln(n,t){try{return t(n)}catch(n){return!1}}function pn(n,t){return n.length<Number(t)}function vn(n,t){return n.length<=Number(t)}function gn(n,t){return S(n)&&S(t)&&n.startsWith(t)}var dn=h(gn);function hn(n,t){throw Error(o(t,n))}function yn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:hn(o(n,"Context was used after it was closed"))}}}var mn=yn((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(t)}}):t:r(e,{parent:Nn})}));function Nn(){return null}function bn(n,t){return l(u(n,(function(n,r,e){(e=mn.run({value:n,set:!0,meta:{index:e}},(function(){return p(t,n)}))).pass||r(e)})))}function En(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=mn.run({value:e,set:!0,meta:{key:r}},(function(){return p(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return f()}function Cn(n,t){var r=En(n,t);if(!r.pass)return r;for(var e in n)if(!M(t,e))return a();return f()}var On=r({condition:ln,doesNotEndWith:P,doesNotStartWith:dn,endsWith:T,equals:k,greaterThan:j,greaterThanOrEquals:I,gt:j,gte:I,inside:R,isArray:B,isBetween:X,isBoolean:_,isEmpty:z,isEven:Y,isFalsy:en,isNaN:H,isNegative:Z,isNotArray:D,isNotBetween:K,isNotBoolean:L,isNotEmpty:V,isNotNaN:Q,isNotNull:C,isNotNumber:J,isNotNumeric:A,isNotString:tn,isNotUndefined:x,isNull:E,isNumber:U,isNumeric:W,isOdd:nn,isPositive:$,isString:S,isTruthy:rn,isUndefined:O,lengthEquals:y,lengthNotEquals:m,lessThan:un,lessThanOrEquals:G,longerThan:N,longerThanOrEquals:on,lt:un,lte:G,matches:sn,notEquals:F,notInside:q,notMatches:an,numberEquals:fn,numberNotEquals:cn,shorterThan:pn,shorterThanOrEquals:vn,startsWith:gn},{allOf:v,anyOf:g,noneOf:d,oneOf:b,optional:w},{shape:Cn,loose:En,isArrayOf:bn});function xn(n){return On[n]}function wn(n){for(var t in On){var r=xn(t);e(r)&&n(t,r)}}function Sn(){return"function"==typeof Proxy}function Tn(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return Pn(n),_(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u,!1)))}function Pn(n){_(n)||n&&_(n.pass)||hn("Incorrect return value for rule: "+JSON.stringify(n))}function kn(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=Tn.apply(void 0,t([mn.run({value:n},(function(){return e.apply(void 0,t([n],i,!1))})),u,n],i,!1))).pass){if(!z(o.message))throw o.message;hn("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!Sn())return wn((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=xn(t))return r(u,n,t)}});return u}function Fn(n){var r,e=[];return function n(o){return function(){for(var a=[],f=0;f<arguments.length;f++)a[f]=arguments[f];var c=xn(o);e.push((function(n){return Tn.apply(void 0,t([c.apply(void 0,t([n],a,!1)),o,n],a,!1))}));var p={run:function(n){return l(u(e,(function(t,e){var u,o=mn.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return Sn()?p=new Proxy(p,{get:function(t,r){return xn(r)?n(r):t[r]}}):(wn((function(t){p[t]=n(t)})),p)}}(n)}function Wn(n){var t,r={};for(t in n)r[t]=jn.optional(n[t]);return r}var An,jn=(An=n({context:function(){return mn.useX()},extend:function(n){r(On,n)}},{partial:Wn}),Sn()?new Proxy(r(kn,An),{get:function(n,t){return t in n?n[t]:xn(t)?Fn(t):void 0}}):(wn((function(n){An[n]=Fn(n)})),An));function In(n){return[].concat(n)}var Rn=function(n){return function(){return""+n++}}(0);var qn=yn((function(n,t){return t?null:r({},{exclusion:{tests:{},groups:{}}},n)}));function Bn(n,t){return!!t&&!Dn(n,t)}function Dn(n,t){return!(!t||n.fieldName!==t)}function Gn(n){void 0===n&&(n=10);var t=[],r=function(e,u){var i=r.get(e);return i?i[1]:(u=u(),t.unshift([e.concat(),u]),t.length>n&&(t.length=n),u)};return r.invalidate=function(n){var r=t.findIndex((function(t){var r=t[0];return y(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<r&&t.splice(r,1)},r.get=function(n){return t[t.findIndex((function(t){var r=t[0];return y(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},r}function Xn(){return Ln().suiteId()}function Kn(){return Ln().testCallbacks()}function _n(){return Ln().optionalFields()}function Ln(){return qn.useX().stateRef}function Mn(){return Ln().testObjects()}function Un(){return Ln().prevTestObjects()}function Jn(n){var t=Vn()[0],r=Mn();n!==r[0][t]&&(0,r[1])((function(r){return(r=r.slice(0))[t]=n,r}))}function zn(){(0,Vn()[1])((function(n){return n+1}))}function Vn(){return Ln().testObjectsCursor()}function Yn(n){return!!_n()[0][n]}function Hn(){return Mn()[0].filter((function(n){return n.isPending()}))}function Qn(n){var t=Hn();return!z(t)&&(n?t.some((function(t){return Dn(t,n)})):V(t))}function Zn(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function $n(n,t){return function(n,t){return!!n!=!!t}("warnings"===n,t.warns)}function nt(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return function(n,t,r,e){return!!(function(n,t){return!(!t||n.groupName===t)}(n,r)||Bn(n,e)||$n(t,n))}(r,t,i,o)||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function tt(n,t){return t?n[t]:n}function rt(n){return ut("errors",n)}function et(n){return ut("warnings",n)}function ut(n,t){return tt(n=nt(n,Mn()[0],{fieldName:t}),t)}function it(n,t){return tt(n=st("errors",n,t),t)}function ot(n,t){return tt(n=st("warnings",n,t),t)}function st(n,t,r){return t||hn("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),nt(n,Mn()[0],{group:t,fieldName:r})}function at(n,t,r){return!(!n.hasFailures()||Bn(n,r)||$n(t,n))}function ft(n){return lt("errors",n)}function ct(n){return lt("warnings",n)}function lt(n,t){return Mn()[0].some((function(r){return at(r,n,t)}))}function pt(n,t){return gt("errors",n,t)}function vt(n,t){return gt("warnings",n,t)}function gt(n,t,r){return Mn()[0].some((function(e){return t===e.groupName&&at(e,n,r)}))}function dt(n,t){return!n.hasErrors(t)&&(!(z(Mn()[0])||function(n,t){return!!t&&z(n.tests[t])}(n,t)||V(Hn().filter((function(n){return!Bn(n,t)&&!Yn(n.fieldName)}))))&&function(n){return Mn()[0].every((function(t){return!(!Bn(t,n)&&!Yn(t.fieldName))||t.isTested()}))}(t))}var ht=Gn(20);function yt(){var n=Mn()[0],t={stateRef:Ln()};return ht([n],qn.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return Mn()[0].forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Zn(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Zn(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:qn.bind(t,rt),getErrorsByGroup:qn.bind(t,it),getWarnings:qn.bind(t,et),getWarningsByGroup:qn.bind(t,ot),hasErrors:qn.bind(t,ft),hasErrorsByGroup:qn.bind(t,pt),hasWarnings:qn.bind(t,ct),hasWarningsByGroup:qn.bind(t,vt),isValid:qn.bind(t,(function(n){return dt(yt(),n)}))})})))}var mt=Gn(20);function Nt(){var n=Mn()[0],t={stateRef:Ln()};return mt([n],qn.bind(t,(function(){return r({},yt(),{done:qn.bind(t,Ot)})})))}function bt(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function Et(n){return!(Qn()&&(!n||Qn(n)))}var Ct,Ot=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];if(n=n[1],t=Nt(),bt(r,n,t))return t;var e=function(){return r(yt())};return Et(n)?(e(),t):(xt(e,n),t)};function xt(n,t){var r=qn.bind({},n);(0,Kn()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function wt(n){return n.forEach((function(n){return n()}))}function St(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(Ct.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(n){var t=Kn()[0].fieldCallbacks;n&&!Qn(n)&&Array.isArray(t[n])&&wt(t[n])}(n.fieldName),function(){var n=Kn()[0].doneCallbacks;Qn()||wt(n)}())})),n}function Tt(){var n=qn.useX();return n.bus||hn(),n.bus}(Ct||(Ct={})).TEST_COMPLETED="test_completed";function Pt(n){return Wt("only","tests",n)}function kt(n){return Wt("skip","tests",n)}function Ft(n){var t=n.fieldName;n=n.groupName;var r=qn.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){if(function(n){var t=qn.useX().exclusion.groups;if(M(t,n))return!1===t[n];for(var r in t)if(!0===t[r])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!u&&(!!At(e)||!1===e[t])}return!u&&At(e)}function Wt(n,t,r){var e=qn.useX("hook called outside of a running suite.");r&&In(r).forEach((function(r){S(r)&&(e.exclusion[t][r]="only"===n)}))}function At(n){for(var t in n)if(!0===n[t])return!0;return!1}Pt.group=function(n){return Wt("only","groups",n)},kt.group=function(n){return Wt("skip","groups",n)};function jt(n){hn("Wrong arguments passed to group. Group "+n+".")}function It(n,t){return O(n)&&S(t)}var Rt=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=Rn(),this.warns=!1,this.status=qt,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){It(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isCanceled()||(this.status=n)},n.prototype.setPending=function(){this.setStatus(Kt)},n.prototype.fail=function(){this.setStatus(this.warns?Gt:Dt)},n.prototype.done=function(){this.isWarning()||this.isCanceled()||this.isFailing()||this.setStatus(Xt)},n.prototype.warn=function(){this.warns=!0},n.prototype.skip=function(){this.setStatus(Bt)},n.prototype.cancel=function(){this.setStatus(_t),function(n){(0,Mn()[1])((function(t){return In(function(n,t){return-1!==(t=n.indexOf(t))&&n.splice(t,1),n}(t,n))}))}(this)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===Kt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isUntested=function(){return this.status===qt},n.prototype.isFailing=function(){return this.status===Dt},n.prototype.isCanceled=function(){return this.status===_t},n.prototype.isSkipped=function(){return this.status===Bt},n.prototype.isPassing=function(){return this.status===Xt},n.prototype.isWarning=function(){return this.status===Gt},n}(),qt="UNTESTED",Bt="SKIPPED",Dt="FAILED",Gt="WARNING",Xt="PASSING",Kt="PENDING",_t="CANCELED";function Lt(n){return n&&e(n.then)}function Mt(n){var t=n.asyncTest,r=n.message;if(Lt(t)){var e=Tt().emit,u=Ln(),i=qn.bind({stateRef:u},(function(){e(Ct.TEST_COMPLETED,n)}));u=qn.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=S(t)?t:r,n.fail(),(0,Mn()[1])((function(n){return n.slice(0)})),i())}));try{t.then(i,u)}catch(n){u()}}}function Ut(n){var t=Tt().emit,r=function(n){return qn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){It(n.message,r)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{Lt(r)?(n.asyncTest=r,n.setPending(),Mt(n)):t(Ct.TEST_COMPLETED,n)}catch(t){hn("Your test function "+n.fieldName+" returned "+JSON.stringify(r)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}function Jt(n){var t=function(n){var t=Vn()[0];return Jn(n=o(Un()[0][t],n)),n}(n);return Ft(n)?(n.skip(),zn(),t):(function(n,t){t!==n&&function(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}(n,t)&&n.isPending()&&n.cancel()}(t,n),Jn(n),zn(),function(n){n.isUntested()?Ut(n):Lt(n.asyncTest)&&(n.setPending(),Mt(n))}(n),n)}function zt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=qn.useX();return Jt(t=new Rt(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var Vt=r(zt,{each:function(n){return function(r){return Array.isArray(r)||hn("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return r.map((function(r){return r=In(r),n(i.apply(void 0,t([e],r,!1)),i.apply(void 0,t([a],r,!1)),(function(){return s.apply(void 0,r)}))}))}}}(zt),memo:function(n){var t=Gn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=Xn()[0];var i=Vn()[0],o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),E(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):Jt(u[1])}}(zt)});exports.VERSION="4.0.0-dev-deabb8",exports.create=function(n){e(n)||hn("Suite initialization error. Expected `tests` to be a function.");var t=St(),u=function(n){function t(n,t){return u.references.push(),r(n,i(t)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){u.references=[],o.forEach((function(n,r){return t(r,n[0])}))}}}(),o=function(n,t){var r=t.suiteId;return{optionalFields:n.registerStateKey((function(){return{}})),prevTestObjects:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return r})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]})),testObjectsCursor:n.registerStateKey((function(){return 0}))}}(u,{suiteId:Rn()});return r(qn.bind({stateRef:o,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=Mn()[0];return r=Un()[1],u.reset(),r((function(){return e})),n.apply(void 0,t),Nt()})),{get:qn.bind({stateRef:o},yt),remove:qn.bind({stateRef:o},(function(n){In(Mn()[0]).forEach((function(t){Dn(t,n)&&t.cancel()}))})),reset:u.reset})},exports.enforce=jn,exports.group=function(n,t){S(n)||jt("name must be a string"),e(t)||jt("callback must be a function"),qn.run({groupName:n},t)},exports.only=Pt,exports.optional=function(n){(0,_n()[1])((function(t){return In(n).forEach((function(n){t[n]=!0})),t}))},exports.skip=kt,exports.skipWhen=function(n,t){qn.run({skipped:i(n)},(function(){return t()}))},exports.test=Vt,exports.warn=function(){var n=qn.useX("warn hook called outside of a running suite.");n.currentTest||hn("warn called outside of a test."),n.currentTest.warn()};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=function(){return n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n},n.apply(this,arguments)};function t(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||t)}var r=Object.assign;function e(n){return"function"==typeof n}function u(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(){return s(!1)}function f(){return s(!0)}function c(n){return o(n,a())}function l(n){return o(n,f())}function p(n,t){try{return n.run(t)}catch(n){return a()}}function v(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return l(u(t,(function(t,r){(t=p(t,n)).pass||r(t)})))}function g(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return c(u(t,(function(t,r){(t=p(t,n)).pass&&r(t)})))}function d(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return l(u(t,(function(t,r){p(t,n).pass&&r(a())})))}function h(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function y(n,t){return n.length===Number(t)}var m=h(y);function N(n,t){return n.length>Number(t)}function b(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(N(e,1))return!1;(t=p(t,n)).pass&&e.push(t)})),s(y(e,1))}function E(n){return null===n}var C=h(E);function O(n){return void 0===n}var x=h(O);function S(n,t){return O(n)||E(n)?f():p(t,n)}function w(n){return String(n)===n}function T(n,t){return w(n)&&w(t)&&n.endsWith(t)}var P=h(T);function k(n,t){return n===t}var F=h(k);function A(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var W=h(A);function j(n,t){return A(n)&&A(t)&&Number(n)>Number(t)}function I(n,t){return A(n)&&A(t)&&Number(n)>=Number(t)}function R(n,t){return!!(Array.isArray(t)||w(t)&&w(n))&&-1!==t.indexOf(n)}var q=h(R);function B(n){return!!Array.isArray(n)}var D=h(B);function G(n,t){return A(n)&&A(t)&&Number(n)<=Number(t)}function X(n,t,r){return I(n,t)&&G(n,r)}var K=h(X);function _(n){return!!n===n}var L=h(_);function M(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function U(n){return"number"==typeof n}var J=h(U);function z(n){if(n){if(U(n))return 0===n;if(M(n,"length"))return y(n,0);if("object"==typeof n)return y(Object.keys(n),0)}return!0}var V=h(z),Y=function(n){return!!A(n)&&0==n%2};function H(n){return Number.isNaN(n)}var Q=h(H);function Z(n){return!!A(n)&&0>Number(n)}var $=h(Z),nn=function(n){return!!A(n)&&0!=n%2},tn=h(w);function rn(n){return!!n}var en=h(rn);function un(n,t){return A(n)&&A(t)&&Number(n)<Number(t)}function on(n,t){return n.length>=Number(t)}function sn(n,t){return t instanceof RegExp?t.test(n):!!w(t)&&new RegExp(t).test(n)}var an=h(sn);function fn(n,t){return A(n)&&A(t)&&Number(n)===Number(t)}var cn=h(fn);function ln(n,t){try{return t(n)}catch(n){return!1}}function pn(n,t){return n.length<Number(t)}function vn(n,t){return n.length<=Number(t)}function gn(n,t){return w(n)&&w(t)&&n.startsWith(t)}var dn=h(gn);function hn(n,t){throw Error(o(t,n))}function yn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:hn(o(n,"Context was used after it was closed"))}}}var mn=yn((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return function(n){return n?{value:n.value,meta:n.meta,parent:n.parent}:n}(t)}}):t:r(e,{parent:Nn})}));function Nn(){return null}function bn(n,t){return l(u(n,(function(n,r,e){(e=mn.run({value:n,set:!0,meta:{index:e}},(function(){return p(t,n)}))).pass||r(e)})))}function En(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=mn.run({value:e,set:!0,meta:{key:r}},(function(){return p(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return f()}function Cn(n,t){var r=En(n,t);if(!r.pass)return r;for(var e in n)if(!M(t,e))return a();return f()}var On=r({condition:ln,doesNotEndWith:P,doesNotStartWith:dn,endsWith:T,equals:k,greaterThan:j,greaterThanOrEquals:I,gt:j,gte:I,inside:R,isArray:B,isBetween:X,isBoolean:_,isEmpty:z,isEven:Y,isFalsy:en,isNaN:H,isNegative:Z,isNotArray:D,isNotBetween:K,isNotBoolean:L,isNotEmpty:V,isNotNaN:Q,isNotNull:C,isNotNumber:J,isNotNumeric:W,isNotString:tn,isNotUndefined:x,isNull:E,isNumber:U,isNumeric:A,isOdd:nn,isPositive:$,isString:w,isTruthy:rn,isUndefined:O,lengthEquals:y,lengthNotEquals:m,lessThan:un,lessThanOrEquals:G,longerThan:N,longerThanOrEquals:on,lt:un,lte:G,matches:sn,notEquals:F,notInside:q,notMatches:an,numberEquals:fn,numberNotEquals:cn,shorterThan:pn,shorterThanOrEquals:vn,startsWith:gn},{allOf:v,anyOf:g,noneOf:d,oneOf:b,optional:S},{shape:Cn,loose:En,isArrayOf:bn});function xn(n){return On[n]}function Sn(n){for(var t in On){var r=xn(t);e(r)&&n(t,r)}}function wn(){return"function"==typeof Proxy}function Tn(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return Pn(n),_(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u,!1)))}function Pn(n){_(n)||n&&_(n.pass)||hn("Incorrect return value for rule: "+JSON.stringify(n))}function kn(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=Tn.apply(void 0,t([mn.run({value:n},(function(){return e.apply(void 0,t([n],i,!1))})),u,n],i,!1))).pass){if(!z(o.message))throw o.message;hn("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!wn())return Sn((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=xn(t))return r(u,n,t)}});return u}function Fn(n){var r,e=[];return function n(o){return function(){for(var a=[],f=0;f<arguments.length;f++)a[f]=arguments[f];var c=xn(o);e.push((function(n){return Tn.apply(void 0,t([c.apply(void 0,t([n],a,!1)),o,n],a,!1))}));var p={run:function(n){return l(u(e,(function(t,e){var u,o=mn.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return wn()?p=new Proxy(p,{get:function(t,r){return xn(r)?n(r):t[r]}}):(Sn((function(t){p[t]=n(t)})),p)}}(n)}function An(n){var t,r={};for(t in n)r[t]=jn.optional(n[t]);return r}var Wn,jn=(Wn=n({context:function(){return mn.useX()},extend:function(n){r(On,n)}},{partial:An}),wn()?new Proxy(r(kn,Wn),{get:function(n,t){return t in n?n[t]:xn(t)?Fn(t):void 0}}):(Sn((function(n){Wn[n]=Fn(n)})),Wn));function In(n){return[].concat(n)}var Rn=function(n){return function(){return""+n++}}(0);var qn=yn((function(n,t){return t?null:r({},{exclusion:{tests:{},groups:{}}},n)}));function Bn(n,t){return!!t&&!Dn(n,t)}function Dn(n,t){return!(!t||n.fieldName!==t)}function Gn(n){void 0===n&&(n=10);var t=[],r=function(e,u){var i=r.get(e);return i?i[1]:(u=u(),t.unshift([e.concat(),u]),t.length>n&&(t.length=n),u)};return r.invalidate=function(n){var r=t.findIndex((function(t){var r=t[0];return y(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<r&&t.splice(r,1)},r.get=function(n){return t[t.findIndex((function(t){var r=t[0];return y(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},r}function Xn(){return Ln().suiteId()}function Kn(){return Ln().testCallbacks()}function _n(){return Ln().optionalFields()}function Ln(){return qn.useX().stateRef}function Mn(){return Ln().testObjects()}function Un(){return Ln().prevTestObjects()}function Jn(n){var t=Vn()[0],r=Mn();n!==r[0][t]&&(0,r[1])((function(r){return(r=r.slice(0))[t]=n,r}))}function zn(){(0,Vn()[1])((function(n){return n+1}))}function Vn(){return Ln().testObjectsCursor()}function Yn(n){return!!_n()[0][n]}function Hn(){return Mn()[0].filter((function(n){return n.isPending()}))}function Qn(n){var t=Hn();return!z(t)&&(n?t.some((function(t){return Dn(t,n)})):V(t))}function Zn(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function $n(n,t){return function(n,t){return!!n!=!!t}("warnings"===n,t.warns)}function nt(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return function(n,t,r,e){return!!(function(n,t){return!(!t||n.groupName===t)}(n,r)||Bn(n,e)||$n(t,n))}(r,t,i,o)||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function tt(n,t){return t?n[t]:n}function rt(n){return ut("errors",n)}function et(n){return ut("warnings",n)}function ut(n,t){return tt(n=nt(n,Mn()[0],{fieldName:t}),t)}function it(n,t){return tt(n=st("errors",n,t),t)}function ot(n,t){return tt(n=st("warnings",n,t),t)}function st(n,t,r){return t||hn("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),nt(n,Mn()[0],{group:t,fieldName:r})}function at(n,t,r){return!(!n.hasFailures()||Bn(n,r)||$n(t,n))}function ft(n){return lt("errors",n)}function ct(n){return lt("warnings",n)}function lt(n,t){return Mn()[0].some((function(r){return at(r,n,t)}))}function pt(n,t){return gt("errors",n,t)}function vt(n,t){return gt("warnings",n,t)}function gt(n,t,r){return Mn()[0].some((function(e){return t===e.groupName&&at(e,n,r)}))}function dt(n,t){return!n.hasErrors(t)&&(!(z(Mn()[0])||function(n,t){return!!t&&z(n.tests[t])}(n,t)||V(Hn().filter((function(n){return!Bn(n,t)&&!Yn(n.fieldName)}))))&&function(n){return Mn()[0].every((function(t){return!(!Bn(t,n)&&!Yn(t.fieldName))||t.isTested()}))}(t))}var ht=Gn(20);function yt(){var n=Mn()[0],t={stateRef:Ln()};return ht([n],qn.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return Mn()[0].forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Zn(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Zn(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:qn.bind(t,rt),getErrorsByGroup:qn.bind(t,it),getWarnings:qn.bind(t,et),getWarningsByGroup:qn.bind(t,ot),hasErrors:qn.bind(t,ft),hasErrorsByGroup:qn.bind(t,pt),hasWarnings:qn.bind(t,ct),hasWarningsByGroup:qn.bind(t,vt),isValid:qn.bind(t,(function(n){return dt(yt(),n)}))})})))}var mt=Gn(20);function Nt(){var n=Mn()[0],t={stateRef:Ln()};return mt([n],qn.bind(t,(function(){return r({},yt(),{done:qn.bind(t,Ot)})})))}function bt(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function Et(n){return!(Qn()&&(!n||Qn(n)))}var Ct,Ot=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];if(n=n[1],t=Nt(),bt(r,n,t))return t;var e=function(){return r(yt())};return Et(n)?(e(),t):(xt(e,n),t)};function xt(n,t){var r=qn.bind({},n);(0,Kn()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function St(n){return n.forEach((function(n){return n()}))}function wt(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(Ct.TEST_COMPLETED,(function(n){n.isCanceled()||(n.done(),function(n){var t=Kn()[0].fieldCallbacks;n&&!Qn(n)&&Array.isArray(t[n])&&St(t[n])}(n.fieldName),function(){var n=Kn()[0].doneCallbacks;Qn()||St(n)}())})),n}function Tt(){var n=qn.useX();return n.bus||hn(),n.bus}(Ct||(Ct={})).TEST_COMPLETED="test_completed";function Pt(n){return At("only","tests",n)}function kt(n){return At("skip","tests",n)}function Ft(n){var t=n.fieldName;n=n.groupName;var r=qn.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){if(function(n){var t=qn.useX().exclusion.groups;if(M(t,n))return!1===t[n];for(var r in t)if(!0===t[r])return!0;return!1}(n))return!0;if(!0===r.groups[n])return!u&&(!!Wt(e)||!1===e[t])}return!u&&Wt(e)}function At(n,t,r){var e=qn.useX("hook called outside of a running suite.");r&&In(r).forEach((function(r){w(r)&&(e.exclusion[t][r]="only"===n)}))}function Wt(n){for(var t in n)if(!0===n[t])return!0;return!1}Pt.group=function(n){return At("only","groups",n)},kt.group=function(n){return At("skip","groups",n)};function jt(n){hn("Wrong arguments passed to group. Group "+n+".")}function It(n,t){return O(n)&&w(t)}var Rt=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=Rn(),this.warns=!1,this.status=qt,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){It(this.message,t)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()||(this.status=n)},n.prototype.setPending=function(){this.setStatus(Kt)},n.prototype.fail=function(){this.setStatus(this.warns?Gt:Dt)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(Xt)},n.prototype.warn=function(){this.warns=!0},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(){this.setStatus(Bt)},n.prototype.cancel=function(){this.setStatus(_t),function(n){(0,Mn()[1])((function(t){return In(function(n,t){return-1!==(t=n.indexOf(t))&&n.splice(t,1),n}(t,n))}))}(this)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===Kt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isUntested=function(){return this.status===qt},n.prototype.isFailing=function(){return this.status===Dt},n.prototype.isCanceled=function(){return this.status===_t},n.prototype.isSkipped=function(){return this.status===Bt},n.prototype.isPassing=function(){return this.status===Xt},n.prototype.isWarning=function(){return this.status===Gt},n}(),qt="UNTESTED",Bt="SKIPPED",Dt="FAILED",Gt="WARNING",Xt="PASSING",Kt="PENDING",_t="CANCELED";function Lt(n){return n&&e(n.then)}function Mt(n){var t=n.asyncTest,r=n.message;if(Lt(t)){var e=Tt().emit,u=Ln(),i=qn.bind({stateRef:u},(function(){e(Ct.TEST_COMPLETED,n)}));u=qn.bind({stateRef:u},(function(t){n.isCanceled()||(n.message=w(t)?t:r,n.fail(),(0,Mn()[1])((function(n){return n.slice(0)})),i())}));try{t.then(i,u)}catch(n){u()}}}function Ut(n){var t=Tt().emit,r=function(n){return qn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){It(n.message,r)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{Lt(r)?(n.asyncTest=r,n.setPending(),Mt(n)):t(Ct.TEST_COMPLETED,n)}catch(t){hn("Your test function "+n.fieldName+" returned "+JSON.stringify(r)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}function Jt(n){var t=function(n){var t=Vn()[0];return Jn(n=o(Un()[0][t],n)),n}(n);return Ft(n)?(n.skip(),zn(),t):(function(n,t){t!==n&&function(n,t){return n.fieldName===t.fieldName&&n.groupName===t.groupName}(n,t)&&n.isPending()&&n.cancel()}(t,n),Jn(n),zn(),function(n){n.isUntested()?Ut(n):Lt(n.asyncTest)&&(n.setPending(),Mt(n))}(n),n)}function zt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=qn.useX();return Jt(t=new Rt(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var Vt=r(zt,{each:function(n){return function(r){return Array.isArray(r)||hn("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return r.map((function(r){return r=In(r),n(i.apply(void 0,t([e],r,!1)),i.apply(void 0,t([a],r,!1)),(function(){return s.apply(void 0,r)}))}))}}}(zt),memo:function(n){var t=Gn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=Xn()[0];var i=Vn()[0],o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),E(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):Jt(u[1])}}(zt)});exports.VERSION="4.0.0-dev-f53683",exports.create=function(n){e(n)||hn("Suite initialization error. Expected `tests` to be a function.");var t=wt(),u=function(n){function t(n,t){return u.references.push(),r(n,i(t)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){u.references=[],o.forEach((function(n,r){return t(r,n[0])}))}}}(),o=function(n,t){var r=t.suiteId;return{optionalFields:n.registerStateKey((function(){return{}})),prevTestObjects:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return r})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]})),testObjectsCursor:n.registerStateKey((function(){return 0}))}}(u,{suiteId:Rn()});return r(qn.bind({stateRef:o,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=Mn()[0];return r=Un()[1],u.reset(),r((function(){return e})),n.apply(void 0,t),Nt()})),{get:qn.bind({stateRef:o},yt),remove:qn.bind({stateRef:o},(function(n){In(Mn()[0]).forEach((function(t){Dn(t,n)&&t.cancel()}))})),reset:u.reset})},exports.enforce=jn,exports.group=function(n,t){w(n)||jt("name must be a string"),e(t)||jt("callback must be a function"),qn.run({groupName:n},t)},exports.only=Pt,exports.optional=function(n){(0,_n()[1])((function(t){return In(n).forEach((function(n){t[n]=!0})),t}))},exports.skip=kt,exports.skipWhen=function(n,t){qn.run({skipped:i(n)},(function(){return t()}))},exports.test=Vt,exports.warn=function(){var n=qn.useX("warn hook called outside of a running suite.");n.currentTest||hn("warn called outside of a test."),n.currentTest.warn()};
|
|
@@ -898,9 +898,8 @@ function createCache(maxSize) {
|
|
|
898
898
|
return cacheHit[1];
|
|
899
899
|
var result = cacheAction();
|
|
900
900
|
cacheStorage.unshift([deps.concat(), result]);
|
|
901
|
-
if (cacheStorage.length > maxSize)
|
|
901
|
+
if (cacheStorage.length > maxSize)
|
|
902
902
|
cacheStorage.length = maxSize;
|
|
903
|
-
}
|
|
904
903
|
return result;
|
|
905
904
|
};
|
|
906
905
|
// invalidate an item in the cache by its dependencies
|
|
@@ -1639,7 +1638,7 @@ var VestTest = /** @class */ (function () {
|
|
|
1639
1638
|
return result;
|
|
1640
1639
|
};
|
|
1641
1640
|
VestTest.prototype.setStatus = function (status) {
|
|
1642
|
-
if (this.
|
|
1641
|
+
if (this.isFinalStatus()) {
|
|
1643
1642
|
return;
|
|
1644
1643
|
}
|
|
1645
1644
|
this.status = status;
|
|
@@ -1651,7 +1650,7 @@ var VestTest = /** @class */ (function () {
|
|
|
1651
1650
|
this.setStatus(this.warns ? STATUS_WARNING : STATUS_FAILED);
|
|
1652
1651
|
};
|
|
1653
1652
|
VestTest.prototype.done = function () {
|
|
1654
|
-
if (this.
|
|
1653
|
+
if (this.isFinalStatus()) {
|
|
1655
1654
|
return;
|
|
1656
1655
|
}
|
|
1657
1656
|
this.setStatus(STATUS_PASSING);
|
|
@@ -1659,6 +1658,9 @@ var VestTest = /** @class */ (function () {
|
|
|
1659
1658
|
VestTest.prototype.warn = function () {
|
|
1660
1659
|
this.warns = true;
|
|
1661
1660
|
};
|
|
1661
|
+
VestTest.prototype.isFinalStatus = function () {
|
|
1662
|
+
return this.hasFailures() || this.isCanceled() || this.isPassing();
|
|
1663
|
+
};
|
|
1662
1664
|
VestTest.prototype.skip = function () {
|
|
1663
1665
|
this.setStatus(STATUS_SKIPPED);
|
|
1664
1666
|
};
|
|
@@ -1897,6 +1899,6 @@ var test = assign(testBase, {
|
|
|
1897
1899
|
memo: bindTestMemo(testBase)
|
|
1898
1900
|
});
|
|
1899
1901
|
|
|
1900
|
-
var VERSION = "4.0.0-dev-
|
|
1902
|
+
var VERSION = "4.0.0-dev-f53683";
|
|
1901
1903
|
|
|
1902
1904
|
export { VERSION, create, enforce, group, only, optional, skip, skipWhen, test, warn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function n(){return n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n},n.apply(this,arguments)}function t(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||t)}var r=Object.assign;function e(n){return"function"==typeof n}function u(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(n,t){try{return n.run(t)}catch(n){return s(!1)}}function c(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n,t){return n.length===Number(t)}var l=c(f);function p(n,t){return n.length>Number(t)}function v(n){return null===n}var g=c(v);function d(n){return void 0===n}var h=c(d);function y(n){return String(n)===n}function m(n,t){return y(n)&&y(t)&&n.endsWith(t)}var b=c(m);function N(n,t){return n===t}var E=c(N);function C(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var O=c(C);function w(n,t){return C(n)&&C(t)&&Number(n)>Number(t)}function T(n,t){return C(n)&&C(t)&&Number(n)>=Number(t)}function S(n,t){return!!(Array.isArray(t)||y(t)&&y(n))&&-1!==t.indexOf(n)}var k=c(S);function x(n){return!!Array.isArray(n)}var P=c(x);function j(n,t){return C(n)&&C(t)&&Number(n)<=Number(t)}function F(n,t,r){return T(n,t)&&j(n,r)}var A=c(F);function W(n){return!!n===n}var I=c(W);function R(n){return"number"==typeof n}var q=c(R);function B(n){if(n){if(R(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return f(n,0);if("object"==typeof n)return f(Object.keys(n),0)}return!0}var D=c(B);function G(n){return Number.isNaN(n)}var X=c(G);function K(n){return!!C(n)&&0>Number(n)}var L=c(K),U=c(y);function M(n){return!!n}var _=c(M);function J(n,t){return C(n)&&C(t)&&Number(n)<Number(t)}function z(n,t){return t instanceof RegExp?t.test(n):!!y(t)&&new RegExp(t).test(n)}var V=c(z);function Y(n,t){return C(n)&&C(t)&&Number(n)===Number(t)}var H=c(Y);function Q(n,t){return y(n)&&y(t)&&n.startsWith(t)}var Z=c(Q);function $(n,t){throw Error(o(t,n))}function nn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:$(o(n,"Context was used after it was closed"))}}}var tn=nn((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:rn})}));function rn(){return null}function en(n,t){function r(r){var e=n[r],u=t[r];if(!(r=tn.run({value:e,set:!0,meta:{key:r}},(function(){return a(u,e)}))).pass)return{value:r}}for(var e in t){var u=r(e);if("object"==typeof u)return u.value}return s(!0)}var un=r({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:b,doesNotStartWith:Z,endsWith:m,equals:N,greaterThan:w,greaterThanOrEquals:T,gt:w,gte:T,inside:S,isArray:x,isBetween:F,isBoolean:W,isEmpty:B,isEven:function(n){return!!C(n)&&0==n%2},isFalsy:_,isNaN:G,isNegative:K,isNotArray:P,isNotBetween:A,isNotBoolean:I,isNotEmpty:D,isNotNaN:X,isNotNull:g,isNotNumber:q,isNotNumeric:O,isNotString:U,isNotUndefined:h,isNull:v,isNumber:R,isNumeric:C,isOdd:function(n){return!!C(n)&&0!=n%2},isPositive:L,isString:y,isTruthy:M,isUndefined:d,lengthEquals:f,lengthNotEquals:l,lessThan:J,lessThanOrEquals:j,longerThan:p,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:J,lte:j,matches:z,notEquals:E,notInside:k,notMatches:V,numberEquals:Y,numberNotEquals:H,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:Q},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass||r(t)})),s(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass&&r(t)})),s(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){a(t,n).pass&&r(s(!1))})),s(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(p(e,1))return!1;(t=a(t,n)).pass&&e.push(t)})),s(f(e,1))},optional:function(n,t){return d(n)||null===n?s(!0):a(t,n)}},{shape:function(n,t){var r=en(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return s(!1);return s(!0)},loose:en,isArrayOf:function(n,t){return o(u(n,(function(n,r,e){(e=tn.run({value:n,set:!0,meta:{index:e}},(function(){return a(t,n)}))).pass||r(e)})),s(!0))}});function on(n){for(var t in un){var r=un[t];e(r)&&n(t,r)}}function sn(){return"function"==typeof Proxy}function an(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return W(n)||n&&W(n.pass)||$("Incorrect return value for rule: "+JSON.stringify(n)),W(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u,!1)))}function cn(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=an.apply(void 0,t([tn.run({value:n},(function(){return e.apply(void 0,t([n],i,!1))})),u,n],i,!1))).pass){if(!B(o.message))throw o.message;$("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!sn())return on((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=un[t])return r(u,n,t)}});return u}function fn(n){var r,e=[];return function n(a){return function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];var l=un[a];e.push((function(n){return an.apply(void 0,t([l.apply(void 0,t([n],c,!1)),a,n],c,!1))}));var p={run:function(n){return o(u(e,(function(t,e){var u,o=tn.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})),s(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return sn()?p=new Proxy(p,{get:function(t,r){return un[r]?n(r):t[r]}}):(on((function(t){p[t]=n(t)})),p)}}(n)}function ln(n){var t,r={};for(t in n)r[t]=vn.optional(n[t]);return r}var pn,vn=(pn=n({context:function(){return tn.useX()},extend:function(n){r(un,n)}},{partial:ln}),sn()?new Proxy(r(cn,pn),{get:function(n,t){return t in n?n[t]:un[t]?fn(t):void 0}}):(on((function(n){pn[n]=fn(n)})),pn)),gn=function(n){return function(){return""+n++}}(0);var dn=nn((function(n,t){return t?null:r({},{exclusion:{tests:{},groups:{}}},n)}));function hn(n,t){return!(!t||n.fieldName!==t)}function yn(n){function t(e,u){var i=t.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>n&&(r.length=n),u)}void 0===n&&(n=10);var r=[];return t.invalidate=function(n){var t=r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<t&&r.splice(t,1)},t.get=function(n){return r[r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},t}function mn(){return dn.useX().stateRef}function bn(){return mn().testObjects()}function Nn(n){var t=mn().testObjectsCursor()[0],r=bn();n!==r[0][t]&&(0,r[1])((function(r){return(r=r.slice(0))[t]=n,r}))}function En(){(0,mn().testObjectsCursor()[1])((function(n){return n+1}))}function Cn(n){return!!mn().optionalFields()[0][n]}function On(){return bn()[0].filter((function(n){return n.isPending()}))}function wn(n){var t=On();return!B(t)&&(n?t.some((function(t){return hn(t,n)})):D(t))}function Tn(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function Sn(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return i&&r.groupName!==i||o&&!hn(r,o)||"warnings"===t!=!!r.warns||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function kn(n){return Pn("errors",n)}function xn(n){return Pn("warnings",n)}function Pn(n,t){return n=Sn(n,bn()[0],{fieldName:t}),t?n[t]:n}function jn(n,t){return n=An("errors",n,t),t?n[t]:n}function Fn(n,t){return n=An("warnings",n,t),t?n[t]:n}function An(n,t,r){return t||$("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),Sn(n,bn()[0],{group:t,fieldName:r})}function Wn(n,t,r){return!(!n.hasFailures()||r&&!hn(n,r)||"warnings"===t!=!!n.warns)}function In(n){return qn("errors",n)}function Rn(n){return qn("warnings",n)}function qn(n,t){return bn()[0].some((function(r){return Wn(r,n,t)}))}function Bn(n,t){return Gn("errors",n,t)}function Dn(n,t){return Gn("warnings",n,t)}function Gn(n,t,r){return bn()[0].some((function(e){return t===e.groupName&&Wn(e,n,r)}))}function Xn(n,t){return!n.hasErrors(t)&&(!(B(bn()[0])||t&&B(n.tests[t])||D(On().filter((function(n){return!(t&&!hn(n,t))&&!Cn(n.fieldName)}))))&&function(n){return bn()[0].every((function(t){return!!(n&&!hn(t,n)||Cn(t.fieldName))||t.isTested()}))}(t))}var Kn=yn(20);function Ln(){var n=bn()[0],t={stateRef:mn()};return Kn([n],dn.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return bn()[0].forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Tn(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Tn(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:dn.bind(t,kn),getErrorsByGroup:dn.bind(t,jn),getWarnings:dn.bind(t,xn),getWarningsByGroup:dn.bind(t,Fn),hasErrors:dn.bind(t,In),hasErrorsByGroup:dn.bind(t,Bn),hasWarnings:dn.bind(t,Rn),hasWarningsByGroup:dn.bind(t,Dn),isValid:dn.bind(t,(function(n){return Xn(Ln(),n)}))})})))}var Un,Mn=yn(20);function _n(){var n=bn()[0],t={stateRef:mn()};return Mn([n],dn.bind(t,(function(){return r({},Ln(),{done:dn.bind(t,Vn)})})))}function Jn(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function zn(n){return!(wn()&&(!n||wn(n)))}function Vn(){function n(){return e(Ln())}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=(t=t.reverse())[0];return t=t[1],r=_n(),Jn(e,t,r)?r:zn(t)?(n(),r):(Yn(n,t),r)}function Yn(n,t){var r=dn.bind({},n);(0,mn().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function Hn(n){return n.forEach((function(n){return n()}))}function Qn(){var n=dn.useX();return n.bus||$(),n.bus}function Zn(n){return nt("only","tests",n)}function $n(n){return nt("skip","tests",n)}function nt(n,t,r){var e=dn.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){y(r)&&(e.exclusion[t][r]="only"===n)}))}function tt(n){for(var t in n)if(!0===n[t])return!0;return!1}function rt(n){$("Wrong arguments passed to group. Group "+n+".")}(Un||(Un={})).TEST_COMPLETED="test_completed",Zn.group=function(n){return nt("only","groups",n)},$n.group=function(n){return nt("skip","groups",n)};var et=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=gn(),this.warns=!1,this.status=ut,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,d(this.message)&&y(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isCanceled()||(this.status=n)},n.prototype.setPending=function(){this.setStatus(ct)},n.prototype.fail=function(){this.setStatus(this.warns?st:ot)},n.prototype.done=function(){this.isWarning()||this.isCanceled()||this.isFailing()||this.setStatus(at)},n.prototype.warn=function(){this.warns=!0},n.prototype.skip=function(){this.setStatus(it)},n.prototype.cancel=function(){this.setStatus(ft),function(n){(0,bn()[1])((function(t){var r=t.indexOf(n);return-1!==r&&t.splice(r,1),[].concat(t)}))}(this)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===ct},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isUntested=function(){return this.status===ut},n.prototype.isFailing=function(){return this.status===ot},n.prototype.isCanceled=function(){return this.status===ft},n.prototype.isSkipped=function(){return this.status===it},n.prototype.isPassing=function(){return this.status===at},n.prototype.isWarning=function(){return this.status===st},n}(),ut="UNTESTED",it="SKIPPED",ot="FAILED",st="WARNING",at="PASSING",ct="PENDING",ft="CANCELED";function lt(n){var t=n.asyncTest,r=n.message;if(t&&e(t.then)){var u=Qn().emit,i=mn(),o=dn.bind({stateRef:i},(function(){u(Un.TEST_COMPLETED,n)}));i=dn.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=y(t)?t:r,n.fail(),(0,bn()[1])((function(n){return n.slice(0)})),o())}));try{t.then(o,i)}catch(n){i()}}}function pt(n){var t=mn().testObjectsCursor()[0],r=mn().prevTestObjects()[0];if(Nn(t=o(r[t],n)),function(n){var t=n.fieldName;n=n.groupName;var r=dn.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=dn.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!tt(e)&&!1!==e[t])}return!u&&tt(e)}(n))return n.skip(),En(),t;if(n!==t&&t.fieldName===n.fieldName&&t.groupName===n.groupName&&t.isPending()&&t.cancel(),Nn(n),En(),n.isUntested()){t=Qn().emit,r=function(n){return dn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,d(n.message)&&y(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&e(r.then)?(n.asyncTest=r,n.setPending(),lt(n)):t(Un.TEST_COMPLETED,n)}catch(t){$("Your test function "+n.fieldName+" returned "+JSON.stringify(r)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}else(t=n.asyncTest)&&e(t.then)&&(n.setPending(),lt(n));return n}function vt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=dn.useX();return pt(t=new et(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var gt=r(vt,{each:function(n){return function(r){return Array.isArray(r)||$("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return r.map((function(r){return r=[].concat(r),n(i.apply(void 0,t([e],r,!1)),i.apply(void 0,t([a],r,!1)),(function(){return s.apply(void 0,r)}))}))}}}(vt),memo:function(n){var t=yn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=mn().suiteId()[0];var i=mn().testObjectsCursor()[0],o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):pt(u[1])}}(vt)}),dt="4.0.0-dev-deabb8";function ht(n){e(n)||$("Suite initialization error. Expected `tests` to be a function.");var t=function(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(Un.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=mn().testCallbacks()[0].fieldCallbacks;n&&!wn(n)&&Array.isArray(t[n])&&Hn(t[n]),n=mn().testCallbacks()[0].doneCallbacks,wn()||Hn(n)}})),n}(),u=function(n){function t(n,t){return u.references.push(),r(n,i(t)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){u.references=[],o.forEach((function(n,r){return t(r,n[0])}))}}}(),o=function(n,t){var r=t.suiteId;return{optionalFields:n.registerStateKey((function(){return{}})),prevTestObjects:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return r})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]})),testObjectsCursor:n.registerStateKey((function(){return 0}))}}(u,{suiteId:gn()});return r(dn.bind({stateRef:o,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=bn()[0];return r=mn().prevTestObjects()[1],u.reset(),r((function(){return e})),n.apply(void 0,t),_n()})),{get:dn.bind({stateRef:o},Ln),remove:dn.bind({stateRef:o},(function(n){var t=bn()[0];[].concat(t).forEach((function(t){hn(t,n)&&t.cancel()}))})),reset:u.reset})}function yt(n,t){y(n)||rt("name must be a string"),e(t)||rt("callback must be a function"),dn.run({groupName:n},t)}function mt(n){(0,mn().optionalFields()[1])((function(t){return[].concat(n).forEach((function(n){t[n]=!0})),t}))}function bt(n,t){dn.run({skipped:i(n)},(function(){return t()}))}function Nt(){var n=dn.useX("warn hook called outside of a running suite.");n.currentTest||$("warn called outside of a test."),n.currentTest.warn()}export{dt as VERSION,ht as create,vn as enforce,yt as group,Zn as only,mt as optional,$n as skip,bt as skipWhen,gt as test,Nt as warn};
|
|
1
|
+
function n(){return n=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n},n.apply(this,arguments)}function t(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||t)}var r=Object.assign;function e(n){return"function"==typeof n}function u(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function i(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return e(n)?n.apply(void 0,t):n}function o(n,t){var r;return null!==(r=i(n))&&void 0!==r?r:t}function s(n,t){return n={pass:n},t&&(n.message=t),n}function a(n,t){try{return n.run(t)}catch(n){return s(!1)}}function c(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n,t){return n.length===Number(t)}var l=c(f);function p(n,t){return n.length>Number(t)}function v(n){return null===n}var g=c(v);function d(n){return void 0===n}var h=c(d);function y(n){return String(n)===n}function m(n,t){return y(n)&&y(t)&&n.endsWith(t)}var N=c(m);function b(n,t){return n===t}var E=c(b);function C(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}var O=c(C);function w(n,t){return C(n)&&C(t)&&Number(n)>Number(t)}function S(n,t){return C(n)&&C(t)&&Number(n)>=Number(t)}function T(n,t){return!!(Array.isArray(t)||y(t)&&y(n))&&-1!==t.indexOf(n)}var P=c(T);function k(n){return!!Array.isArray(n)}var x=c(k);function F(n,t){return C(n)&&C(t)&&Number(n)<=Number(t)}function j(n,t,r){return S(n,t)&&F(n,r)}var A=c(j);function W(n){return!!n===n}var I=c(W);function R(n){return"number"==typeof n}var q=c(R);function B(n){if(n){if(R(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return f(n,0);if("object"==typeof n)return f(Object.keys(n),0)}return!0}var D=c(B);function G(n){return Number.isNaN(n)}var X=c(G);function K(n){return!!C(n)&&0>Number(n)}var L=c(K),U=c(y);function M(n){return!!n}var _=c(M);function J(n,t){return C(n)&&C(t)&&Number(n)<Number(t)}function z(n,t){return t instanceof RegExp?t.test(n):!!y(t)&&new RegExp(t).test(n)}var V=c(z);function Y(n,t){return C(n)&&C(t)&&Number(n)===Number(t)}var H=c(Y);function Q(n,t){return y(n)&&y(t)&&n.startsWith(t)}var Z=c(Q);function $(n,t){throw Error(o(t,n))}function nn(n){function t(t,i){var o,s,a=e();return t=r({},a||{},null!==(o=null==n?void 0:n(t,a))&&void 0!==o?o:t),o=u.ctx=Object.freeze(t),u.ancestry.unshift(o),i=i(o),u.ancestry.shift(),u.ctx=null!==(s=u.ancestry[0])&&void 0!==s?s:null,i}function e(){return u.ctx}var u={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:e,useX:function(n){var t;return null!==(t=u.ctx)&&void 0!==t?t:$(o(n,"Context was used after it was closed"))}}}var tn=nn((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:rn})}));function rn(){return null}function en(n,t){function r(r){var e=n[r],u=t[r];if(!(r=tn.run({value:e,set:!0,meta:{key:r}},(function(){return a(u,e)}))).pass)return{value:r}}for(var e in t){var u=r(e);if("object"==typeof u)return u.value}return s(!0)}var un=r({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:N,doesNotStartWith:Z,endsWith:m,equals:b,greaterThan:w,greaterThanOrEquals:S,gt:w,gte:S,inside:T,isArray:k,isBetween:j,isBoolean:W,isEmpty:B,isEven:function(n){return!!C(n)&&0==n%2},isFalsy:_,isNaN:G,isNegative:K,isNotArray:x,isNotBetween:A,isNotBoolean:I,isNotEmpty:D,isNotNaN:X,isNotNull:g,isNotNumber:q,isNotNumeric:O,isNotString:U,isNotUndefined:h,isNull:v,isNumber:R,isNumeric:C,isOdd:function(n){return!!C(n)&&0!=n%2},isPositive:L,isString:y,isTruthy:M,isUndefined:d,lengthEquals:f,lengthNotEquals:l,lessThan:J,lessThanOrEquals:F,longerThan:p,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:J,lte:F,matches:z,notEquals:E,notInside:P,notMatches:V,numberEquals:Y,numberNotEquals:H,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:Q},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass||r(t)})),s(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){(t=a(t,n)).pass&&r(t)})),s(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return o(u(t,(function(t,r){a(t,n).pass&&r(s(!1))})),s(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(p(e,1))return!1;(t=a(t,n)).pass&&e.push(t)})),s(f(e,1))},optional:function(n,t){return d(n)||null===n?s(!0):a(t,n)}},{shape:function(n,t){var r=en(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return s(!1);return s(!0)},loose:en,isArrayOf:function(n,t){return o(u(n,(function(n,r,e){(e=tn.run({value:n,set:!0,meta:{index:e}},(function(){return a(t,n)}))).pass||r(e)})),s(!0))}});function on(n){for(var t in un){var r=un[t];e(r)&&n(t,r)}}function sn(){return"function"==typeof Proxy}function an(n,r,e){for(var u=[],o=3;o<arguments.length;o++)u[o-3]=arguments[o];return W(n)||n&&W(n.pass)||$("Incorrect return value for rule: "+JSON.stringify(n)),W(n)?s(n):s(n.pass,i.apply(void 0,t([n.message,r,e],u,!1)))}function cn(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=an.apply(void 0,t([tn.run({value:n},(function(){return e.apply(void 0,t([n],i,!1))})),u,n],i,!1))).pass){if(!B(o.message))throw o.message;$("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!sn())return on((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=un[t])return r(u,n,t)}});return u}function fn(n){var r,e=[];return function n(a){return function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];var l=un[a];e.push((function(n){return an.apply(void 0,t([l.apply(void 0,t([n],c,!1)),a,n],c,!1))}));var p={run:function(n){return o(u(e,(function(t,e){var u,o=tn.run({value:n},(function(){return t(n)}));o.pass||e(s(!!o.pass,null!==(u=i(r,n,o.message))&&void 0!==u?u:o.message))})),s(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return sn()?p=new Proxy(p,{get:function(t,r){return un[r]?n(r):t[r]}}):(on((function(t){p[t]=n(t)})),p)}}(n)}function ln(n){var t,r={};for(t in n)r[t]=vn.optional(n[t]);return r}var pn,vn=(pn=n({context:function(){return tn.useX()},extend:function(n){r(un,n)}},{partial:ln}),sn()?new Proxy(r(cn,pn),{get:function(n,t){return t in n?n[t]:un[t]?fn(t):void 0}}):(on((function(n){pn[n]=fn(n)})),pn)),gn=function(n){return function(){return""+n++}}(0);var dn=nn((function(n,t){return t?null:r({},{exclusion:{tests:{},groups:{}}},n)}));function hn(n,t){return!(!t||n.fieldName!==t)}function yn(n){function t(e,u){var i=t.get(e);return i?i[1]:(u=u(),r.unshift([e.concat(),u]),r.length>n&&(r.length=n),u)}void 0===n&&(n=10);var r=[];return t.invalidate=function(n){var t=r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<t&&r.splice(t,1)},t.get=function(n){return r[r.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},t}function mn(){return dn.useX().stateRef}function Nn(){return mn().testObjects()}function bn(n){var t=mn().testObjectsCursor()[0],r=Nn();n!==r[0][t]&&(0,r[1])((function(r){return(r=r.slice(0))[t]=n,r}))}function En(){(0,mn().testObjectsCursor()[1])((function(n){return n+1}))}function Cn(n){return!!mn().optionalFields()[0][n]}function On(){return Nn()[0].filter((function(n){return n.isPending()}))}function wn(n){var t=On();return!B(t)&&(n?t.some((function(t){return hn(t,n)})):D(t))}function Sn(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function Tn(t,r,e){var u;void 0===e&&(e={});var i=(e=e||{}).group,o=e.fieldName;return r.reduce((function(n,r){return i&&r.groupName!==i||o&&!hn(r,o)||"warnings"===t!=!!r.warns||!r.hasFailures()||(n[r.fieldName]=(n[r.fieldName]||[]).concat(r.message||[])),n}),n({},o&&((u={})[o]=[],u)))}function Pn(n){return xn("errors",n)}function kn(n){return xn("warnings",n)}function xn(n,t){return n=Tn(n,Nn()[0],{fieldName:t}),t?n[t]:n}function Fn(n,t){return n=An("errors",n,t),t?n[t]:n}function jn(n,t){return n=An("warnings",n,t),t?n[t]:n}function An(n,t,r){return t||$("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),Tn(n,Nn()[0],{group:t,fieldName:r})}function Wn(n,t,r){return!(!n.hasFailures()||r&&!hn(n,r)||"warnings"===t!=!!n.warns)}function In(n){return qn("errors",n)}function Rn(n){return qn("warnings",n)}function qn(n,t){return Nn()[0].some((function(r){return Wn(r,n,t)}))}function Bn(n,t){return Gn("errors",n,t)}function Dn(n,t){return Gn("warnings",n,t)}function Gn(n,t,r){return Nn()[0].some((function(e){return t===e.groupName&&Wn(e,n,r)}))}function Xn(n,t){return!n.hasErrors(t)&&(!(B(Nn()[0])||t&&B(n.tests[t])||D(On().filter((function(n){return!(t&&!hn(n,t))&&!Cn(n.fieldName)}))))&&function(n){return Nn()[0].every((function(t){return!!(n&&!hn(t,n)||Cn(t.fieldName))||t.isTested()}))}(t))}var Kn=yn(20);function Ln(){var n=Nn()[0],t={stateRef:mn()};return Kn([n],dn.bind(t,(function(){return r(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return Nn()[0].forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Sn(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Sn(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:dn.bind(t,Pn),getErrorsByGroup:dn.bind(t,Fn),getWarnings:dn.bind(t,kn),getWarningsByGroup:dn.bind(t,jn),hasErrors:dn.bind(t,In),hasErrorsByGroup:dn.bind(t,Bn),hasWarnings:dn.bind(t,Rn),hasWarningsByGroup:dn.bind(t,Dn),isValid:dn.bind(t,(function(n){return Xn(Ln(),n)}))})})))}var Un,Mn=yn(20);function _n(){var n=Nn()[0],t={stateRef:mn()};return Mn([n],dn.bind(t,(function(){return r({},Ln(),{done:dn.bind(t,Vn)})})))}function Jn(n,t,r){return!(e(n)&&(!t||r.tests[t]&&0!==r.tests[t].testCount))}function zn(n){return!(wn()&&(!n||wn(n)))}function Vn(){function n(){return e(Ln())}for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=(t=t.reverse())[0];return t=t[1],r=_n(),Jn(e,t,r)?r:zn(t)?(n(),r):(Yn(n,t),r)}function Yn(n,t){var r=dn.bind({},n);(0,mn().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function Hn(n){return n.forEach((function(n){return n()}))}function Qn(){var n=dn.useX();return n.bus||$(),n.bus}function Zn(n){return nt("only","tests",n)}function $n(n){return nt("skip","tests",n)}function nt(n,t,r){var e=dn.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){y(r)&&(e.exclusion[t][r]="only"===n)}))}function tt(n){for(var t in n)if(!0===n[t])return!0;return!1}function rt(n){$("Wrong arguments passed to group. Group "+n+".")}(Un||(Un={})).TEST_COMPLETED="test_completed",Zn.group=function(n){return nt("only","groups",n)},$n.group=function(n){return nt("skip","groups",n)};var et=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=gn(),this.warns=!1,this.status=ut,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,d(this.message)&&y(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()||(this.status=n)},n.prototype.setPending=function(){this.setStatus(ct)},n.prototype.fail=function(){this.setStatus(this.warns?st:ot)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(at)},n.prototype.warn=function(){this.warns=!0},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(){this.setStatus(it)},n.prototype.cancel=function(){this.setStatus(ft),function(n){(0,Nn()[1])((function(t){var r=t.indexOf(n);return-1!==r&&t.splice(r,1),[].concat(t)}))}(this)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===ct},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isUntested=function(){return this.status===ut},n.prototype.isFailing=function(){return this.status===ot},n.prototype.isCanceled=function(){return this.status===ft},n.prototype.isSkipped=function(){return this.status===it},n.prototype.isPassing=function(){return this.status===at},n.prototype.isWarning=function(){return this.status===st},n}(),ut="UNTESTED",it="SKIPPED",ot="FAILED",st="WARNING",at="PASSING",ct="PENDING",ft="CANCELED";function lt(n){var t=n.asyncTest,r=n.message;if(t&&e(t.then)){var u=Qn().emit,i=mn(),o=dn.bind({stateRef:i},(function(){u(Un.TEST_COMPLETED,n)}));i=dn.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=y(t)?t:r,n.fail(),(0,Nn()[1])((function(n){return n.slice(0)})),o())}));try{t.then(o,i)}catch(n){i()}}}function pt(n){var t=mn().testObjectsCursor()[0],r=mn().prevTestObjects()[0];if(bn(t=o(r[t],n)),function(n){var t=n.fieldName;n=n.groupName;var r=dn.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=dn.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!tt(e)&&!1!==e[t])}return!u&&tt(e)}(n))return n.skip(),En(),t;if(n!==t&&t.fieldName===n.fieldName&&t.groupName===n.groupName&&t.isPending()&&t.cancel(),bn(n),En(),n.isUntested()){t=Qn().emit,r=function(n){return dn.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,d(n.message)&&y(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{r&&e(r.then)?(n.asyncTest=r,n.setPending(),lt(n)):t(Un.TEST_COMPLETED,n)}catch(t){$("Your test function "+n.fieldName+" returned "+JSON.stringify(r)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}else(t=n.asyncTest)&&e(t.then)&&(n.setPending(),lt(n));return n}function vt(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=dn.useX();return pt(t=new et(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var gt=r(vt,{each:function(n){return function(r){return Array.isArray(r)||$("test.each: Expected table to be an array."),function(e){for(var u=[],o=1;o<arguments.length;o++)u[o-1]=arguments[o];var s=(u=u.reverse())[0],a=u[1];return r.map((function(r){return r=[].concat(r),n(i.apply(void 0,t([e],r,!1)),i.apply(void 0,t([a],r,!1)),(function(){return s.apply(void 0,r)}))}))}}}(vt),memo:function(n){var t=yn(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=mn().suiteId()[0];var i=mn().testObjectsCursor()[0],o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):pt(u[1])}}(vt)}),dt="4.0.0-dev-f53683";function ht(n){e(n)||$("Suite initialization error. Expected `tests` to be a function.");var t=function(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(Un.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=mn().testCallbacks()[0].fieldCallbacks;n&&!wn(n)&&Array.isArray(t[n])&&Hn(t[n]),n=mn().testCallbacks()[0].doneCallbacks,wn()||Hn(n)}})),n}(),u=function(n){function t(n,t){return u.references.push(),r(n,i(t)),function(){return[u.references[n],function(t){return r(n,i(t,u.references[n]))}]}}function r(t,r){var i=u.references[t];u.references[t]=r,e(t=o[t][1])&&t(r,i),e(n)&&n()}var u={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){u.references=[],o.forEach((function(n,r){return t(r,n[0])}))}}}(),o=function(n,t){var r=t.suiteId;return{optionalFields:n.registerStateKey((function(){return{}})),prevTestObjects:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return r})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]})),testObjectsCursor:n.registerStateKey((function(){return 0}))}}(u,{suiteId:gn()});return r(dn.bind({stateRef:o,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var e=Nn()[0];return r=mn().prevTestObjects()[1],u.reset(),r((function(){return e})),n.apply(void 0,t),_n()})),{get:dn.bind({stateRef:o},Ln),remove:dn.bind({stateRef:o},(function(n){var t=Nn()[0];[].concat(t).forEach((function(t){hn(t,n)&&t.cancel()}))})),reset:u.reset})}function yt(n,t){y(n)||rt("name must be a string"),e(t)||rt("callback must be a function"),dn.run({groupName:n},t)}function mt(n){(0,mn().optionalFields()[1])((function(t){return[].concat(n).forEach((function(n){t[n]=!0})),t}))}function Nt(n,t){dn.run({skipped:i(n)},(function(){return t()}))}function bt(){var n=dn.useX("warn hook called outside of a running suite.");n.currentTest||$("warn called outside of a test."),n.currentTest.warn()}export{dt as VERSION,ht as create,vn as enforce,yt as group,Zn as only,mt as optional,$n as skip,Nt as skipWhen,gt as test,bt as warn};
|
|
@@ -904,9 +904,8 @@
|
|
|
904
904
|
return cacheHit[1];
|
|
905
905
|
var result = cacheAction();
|
|
906
906
|
cacheStorage.unshift([deps.concat(), result]);
|
|
907
|
-
if (cacheStorage.length > maxSize)
|
|
907
|
+
if (cacheStorage.length > maxSize)
|
|
908
908
|
cacheStorage.length = maxSize;
|
|
909
|
-
}
|
|
910
909
|
return result;
|
|
911
910
|
};
|
|
912
911
|
// invalidate an item in the cache by its dependencies
|
|
@@ -1645,7 +1644,7 @@
|
|
|
1645
1644
|
return result;
|
|
1646
1645
|
};
|
|
1647
1646
|
VestTest.prototype.setStatus = function (status) {
|
|
1648
|
-
if (this.
|
|
1647
|
+
if (this.isFinalStatus()) {
|
|
1649
1648
|
return;
|
|
1650
1649
|
}
|
|
1651
1650
|
this.status = status;
|
|
@@ -1657,7 +1656,7 @@
|
|
|
1657
1656
|
this.setStatus(this.warns ? STATUS_WARNING : STATUS_FAILED);
|
|
1658
1657
|
};
|
|
1659
1658
|
VestTest.prototype.done = function () {
|
|
1660
|
-
if (this.
|
|
1659
|
+
if (this.isFinalStatus()) {
|
|
1661
1660
|
return;
|
|
1662
1661
|
}
|
|
1663
1662
|
this.setStatus(STATUS_PASSING);
|
|
@@ -1665,6 +1664,9 @@
|
|
|
1665
1664
|
VestTest.prototype.warn = function () {
|
|
1666
1665
|
this.warns = true;
|
|
1667
1666
|
};
|
|
1667
|
+
VestTest.prototype.isFinalStatus = function () {
|
|
1668
|
+
return this.hasFailures() || this.isCanceled() || this.isPassing();
|
|
1669
|
+
};
|
|
1668
1670
|
VestTest.prototype.skip = function () {
|
|
1669
1671
|
this.setStatus(STATUS_SKIPPED);
|
|
1670
1672
|
};
|
|
@@ -1903,7 +1905,7 @@
|
|
|
1903
1905
|
memo: bindTestMemo(testBase)
|
|
1904
1906
|
});
|
|
1905
1907
|
|
|
1906
|
-
var VERSION = "4.0.0-dev-
|
|
1908
|
+
var VERSION = "4.0.0-dev-f53683";
|
|
1907
1909
|
|
|
1908
1910
|
exports.VERSION = VERSION;
|
|
1909
1911
|
exports.create = create;
|
|
@@ -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,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||t)}function r(n){return"function"==typeof n}function e(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function u(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}function i(n,t){var r;return null!==(r=u(n))&&void 0!==r?r:t}function o(n,t){return n={pass:n},t&&(n.message=t),n}function s(n,t){try{return n.run(t)}catch(n){return o(!1)}}function a(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function c(n,t){return n.length===Number(t)}function f(n,t){return n.length>Number(t)}function l(n){return null===n}function p(n){return void 0===n}function d(n){return String(n)===n}function g(n,t){return d(n)&&d(t)&&n.endsWith(t)}function v(n,t){return n===t}function h(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function y(n,t){return h(n)&&h(t)&&Number(n)>Number(t)}function m(n,t){return h(n)&&h(t)&&Number(n)>=Number(t)}function b(n,t){return!!(Array.isArray(t)||d(t)&&d(n))&&-1!==t.indexOf(n)}function N(n){return!!Array.isArray(n)}function E(n,t){return h(n)&&h(t)&&Number(n)<=Number(t)}function C(n,t,r){return m(n,t)&&E(n,r)}function O(n){return!!n===n}function w(n){return"number"==typeof n}function T(n){if(n){if(w(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return c(n,0);if("object"==typeof n)return c(Object.keys(n),0)}return!0}function S(n){return Number.isNaN(n)}function x(n){return!!h(n)&&0>Number(n)}function k(n){return!!n}function P(n,t){return h(n)&&h(t)&&Number(n)<Number(t)}function j(n,t){return t instanceof RegExp?t.test(n):!!d(t)&&new RegExp(t).test(n)}function F(n,t){return h(n)&&h(t)&&Number(n)===Number(t)}function W(n,t){return d(n)&&d(t)&&n.startsWith(t)}function A(n,t){throw Error(i(t,n))}function I(n){function t(t,u){var i,o,s=r();return t=An({},s||{},null!==(i=null==n?void 0:n(t,s))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){var t;return null!==(t=e.ctx)&&void 0!==t?t:A(i(n,"Context was used after it was closed"))}}}function R(){return null}function q(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=$n.run({value:e,set:!0,meta:{key:r}},(function(){return s(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return o(!0)}function B(n){for(var t in nt){var e=nt[t];r(e)&&n(t,e)}}function D(){return"function"==typeof Proxy}function G(n,r,e){for(var i=[],s=3;s<arguments.length;s++)i[s-3]=arguments[s];return O(n)||n&&O(n.pass)||A("Incorrect return value for rule: "+JSON.stringify(n)),O(n)?o(n):o(n.pass,u.apply(void 0,t([n.message,r,e],i,!1)))}function X(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=G.apply(void 0,t([$n.run({value:n},(function(){return e.apply(void 0,t([n],i,!1))})),u,n],i,!1))).pass){if(!T(o.message))throw o.message;A("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!D())return B((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=nt[t])return r(u,n,t)}});return u}function K(n){var r,s=[];return function n(a){return function(){for(var c=[],f=0;f<arguments.length;f++)c[f]=arguments[f];var l=nt[a];s.push((function(n){return G.apply(void 0,t([l.apply(void 0,t([n],c,!1)),a,n],c,!1))}));var p={run:function(n){return i(e(s,(function(t,e){var i,s=$n.run({value:n},(function(){return t(n)}));s.pass||e(o(!!s.pass,null!==(i=u(r,n,s.message))&&void 0!==i?i:s.message))})),o(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return D()?p=new Proxy(p,{get:function(t,r){return nt[r]?n(r):t[r]}}):(B((function(t){p[t]=n(t)})),p)}}(n)}function _(n){var t,r={};for(t in n)r[t]=tt.optional(n[t]);return r}function L(n,t){return!(!t||n.fieldName!==t)}function M(n){void 0===n&&(n=10);var t=[],r=function(e,u){var i=r.get(e);return i?i[1]:(u=u(),t.unshift([e.concat(),u]),t.length>n&&(t.length=n),u)};return r.invalidate=function(n){var r=t.findIndex((function(t){var r=t[0];return c(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<r&&t.splice(r,1)},r.get=function(n){return t[t.findIndex((function(t){var r=t[0];return c(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},r}function U(){return et.useX().stateRef}function J(){return U().testObjects()}function z(n){var t=U().testObjectsCursor()[0],r=J();n!==r[0][t]&&(0,r[1])((function(r){return(r=r.slice(0))[t]=n,r}))}function V(){(0,U().testObjectsCursor()[1])((function(n){return n+1}))}function Y(n){return!!U().optionalFields()[0][n]}function H(){return J()[0].filter((function(n){return n.isPending()}))}function Q(n){var t=H();return!T(t)&&(n?t.some((function(t){return L(t,n)})):Un(t))}function Z(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function $(n,t,r){var e;void 0===r&&(r={});var u=(r=r||{}).group,i=r.fieldName;return t.reduce((function(t,r){return u&&r.groupName!==u||i&&!L(r,i)||"warnings"===n!=!!r.warns||!r.hasFailures()||(t[r.fieldName]=(t[r.fieldName]||[]).concat(r.message||[])),t}),Wn({},i&&((e={})[i]=[],e)))}function nn(n){return rn("errors",n)}function tn(n){return rn("warnings",n)}function rn(n,t){return n=$(n,J()[0],{fieldName:t}),t?n[t]:n}function en(n,t){return n=on("errors",n,t),t?n[t]:n}function un(n,t){return n=on("warnings",n,t),t?n[t]:n}function on(n,t,r){return t||A("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),$(n,J()[0],{group:t,fieldName:r})}function sn(n,t,r){return!(!n.hasFailures()||r&&!L(n,r)||"warnings"===t!=!!n.warns)}function an(n){return fn("errors",n)}function cn(n){return fn("warnings",n)}function fn(n,t){return J()[0].some((function(r){return sn(r,n,t)}))}function ln(n,t){return dn("errors",n,t)}function pn(n,t){return dn("warnings",n,t)}function dn(n,t,r){return J()[0].some((function(e){return t===e.groupName&&sn(e,n,r)}))}function gn(n,t){return!n.hasErrors(t)&&(!(T(J()[0])||t&&T(n.tests[t])||Un(H().filter((function(n){return!(t&&!L(n,t))&&!Y(n.fieldName)}))))&&function(n){return J()[0].every((function(t){return!!(n&&!L(t,n)||Y(t.fieldName))||t.isTested()}))}(t))}function vn(){var n=J()[0],t={stateRef:U()};return ut([n],et.bind(t,(function(){return An(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return J()[0].forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Z(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Z(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:et.bind(t,nn),getErrorsByGroup:et.bind(t,en),getWarnings:et.bind(t,tn),getWarningsByGroup:et.bind(t,un),hasErrors:et.bind(t,an),hasErrorsByGroup:et.bind(t,ln),hasWarnings:et.bind(t,cn),hasWarningsByGroup:et.bind(t,pn),isValid:et.bind(t,(function(n){return gn(vn(),n)}))})})))}function hn(){var n=J()[0],t={stateRef:U()};return it([n],et.bind(t,(function(){return An({},vn(),{done:et.bind(t,ot)})})))}function yn(n,t,e){return!(r(n)&&(!t||e.tests[t]&&0!==e.tests[t].testCount))}function mn(n){return!(Q()&&(!n||Q(n)))}function bn(n,t){var r=et.bind({},n);(0,U().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function Nn(n){return n.forEach((function(n){return n()}))}function En(){var n=et.useX();return n.bus||A(),n.bus}function Cn(n){return wn("only","tests",n)}function On(n){return wn("skip","tests",n)}function wn(n,t,r){var e=et.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){d(r)&&(e.exclusion[t][r]="only"===n)}))}function Tn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Sn(n){A("Wrong arguments passed to group. Group "+n+".")}function xn(n){var t=n.asyncTest,e=n.message;if(t&&r(t.then)){var u=En().emit,i=U(),o=et.bind({stateRef:i},(function(){u(jn.TEST_COMPLETED,n)}));i=et.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=d(t)?t:e,n.fail(),(0,J()[1])((function(n){return n.slice(0)})),o())}));try{t.then(o,i)}catch(n){i()}}}function kn(n){var t=U().testObjectsCursor()[0],e=U().prevTestObjects()[0];if(z(t=i(e[t],n)),function(n){var t=n.fieldName;n=n.groupName;var r=et.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=et.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!Tn(e)&&!1!==e[t])}return!u&&Tn(e)}(n))return n.skip(),V(),t;if(n!==t&&t.fieldName===n.fieldName&&t.groupName===n.groupName&&t.isPending()&&t.cancel(),z(n),V(),n.isUntested()){t=En().emit,e=function(n){return et.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,p(n.message)&&d(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{e&&r(e.then)?(n.asyncTest=e,n.setPending(),xn(n)):t(jn.TEST_COMPLETED,n)}catch(t){A("Your test function "+n.fieldName+" returned "+JSON.stringify(e)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}else(t=n.asyncTest)&&r(t.then)&&(n.setPending(),xn(n));return n}function Pn(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=et.useX();return kn(t=new st(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var jn,Fn,Wn=function(){return Wn=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n},Wn.apply(this,arguments)},An=Object.assign,In=a(c),Rn=a(l),qn=a(p),Bn=a(g),Dn=a(v),Gn=a(h),Xn=a(b),Kn=a(N),_n=a(C),Ln=a(O),Mn=a(w),Un=a(T),Jn=a(S),zn=a(x),Vn=a(d),Yn=a(k),Hn=a(j),Qn=a(F),Zn=a(W),$n=I((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?An(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:An(r,{parent:R})})),nt=An({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Bn,doesNotStartWith:Zn,endsWith:g,equals:v,greaterThan:y,greaterThanOrEquals:m,gt:y,gte:m,inside:b,isArray:N,isBetween:C,isBoolean:O,isEmpty:T,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:Yn,isNaN:S,isNegative:x,isNotArray:Kn,isNotBetween:_n,isNotBoolean:Ln,isNotEmpty:Un,isNotNaN:Jn,isNotNull:Rn,isNotNumber:Mn,isNotNumeric:Gn,isNotString:Vn,isNotUndefined:qn,isNull:l,isNumber:w,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:zn,isString:d,isTruthy:k,isUndefined:p,lengthEquals:c,lengthNotEquals:In,lessThan:P,lessThanOrEquals:E,longerThan:f,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:P,lte:E,matches:j,notEquals:Dn,notInside:Xn,notMatches:Hn,numberEquals:F,numberNotEquals:Qn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:W},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return i(e(t,(function(t,r){(t=s(t,n)).pass||r(t)})),o(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return i(e(t,(function(t,r){(t=s(t,n)).pass&&r(t)})),o(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return i(e(t,(function(t,r){s(t,n).pass&&r(o(!1))})),o(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(f(e,1))return!1;(t=s(t,n)).pass&&e.push(t)})),o(c(e,1))},optional:function(n,t){return p(n)||null===n?o(!0):s(t,n)}},{shape:function(n,t){var r=q(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return o(!1);return o(!0)},loose:q,isArrayOf:function(n,t){return i(e(n,(function(n,r,e){(e=$n.run({value:n,set:!0,meta:{index:e}},(function(){return s(t,n)}))).pass||r(e)})),o(!0))}}),tt=(Fn=Wn({context:function(){return $n.useX()},extend:function(n){An(nt,n)}},{partial:_}),D()?new Proxy(An(X,Fn),{get:function(n,t){return t in n?n[t]:nt[t]?K(t):void 0}}):(B((function(n){Fn[n]=K(n)})),Fn)),rt=function(n){return function(){return""+n++}}(0),et=I((function(n,t){return t?null:An({},{exclusion:{tests:{},groups:{}}},n)})),ut=M(20),it=M(20),ot=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];if(n=n[1],t=hn(),yn(r,n,t))return t;var e=function(){return r(vn())};return mn(n)?(e(),t):(bn(e,n),t)};(jn||(jn={})).TEST_COMPLETED="test_completed",Cn.group=function(n){return wn("only","groups",n)},On.group=function(n){return wn("skip","groups",n)};var st=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=rt(),this.warns=!1,this.status=at,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,p(this.message)&&d(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isCanceled()||(this.status=n)},n.prototype.setPending=function(){this.setStatus(dt)},n.prototype.fail=function(){this.setStatus(this.warns?lt:ft)},n.prototype.done=function(){this.isWarning()||this.isCanceled()||this.isFailing()||this.setStatus(pt)},n.prototype.warn=function(){this.warns=!0},n.prototype.skip=function(){this.setStatus(ct)},n.prototype.cancel=function(){this.setStatus(gt),function(n){(0,J()[1])((function(t){var r=t.indexOf(n);return-1!==r&&t.splice(r,1),[].concat(t)}))}(this)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===dt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isUntested=function(){return this.status===at},n.prototype.isFailing=function(){return this.status===ft},n.prototype.isCanceled=function(){return this.status===gt},n.prototype.isSkipped=function(){return this.status===ct},n.prototype.isPassing=function(){return this.status===pt},n.prototype.isWarning=function(){return this.status===lt},n}(),at="UNTESTED",ct="SKIPPED",ft="FAILED",lt="WARNING",pt="PASSING",dt="PENDING",gt="CANCELED",vt=An(Pn,{each:function(n){return function(r){return Array.isArray(r)||A("test.each: Expected table to be an array."),function(e){for(var i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];var s=(i=i.reverse())[0],a=i[1];return r.map((function(r){return r=[].concat(r),n(u.apply(void 0,t([e],r,!1)),u.apply(void 0,t([a],r,!1)),(function(){return s.apply(void 0,r)}))}))}}}(Pn),memo:function(n){var t=M(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=U().suiteId()[0];var i=U().testObjectsCursor()[0],o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):kn(u[1])}}(Pn)});n.VERSION="4.0.0-dev-deabb8",n.create=function(n){r(n)||A("Suite initialization error. Expected `tests` to be a function.");var t=function(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(jn.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=U().testCallbacks()[0].fieldCallbacks;n&&!Q(n)&&Array.isArray(t[n])&&Nn(t[n]),n=U().testCallbacks()[0].doneCallbacks,Q()||Nn(n)}})),n}(),e=function(n){function t(n,t){return i.references.push(),e(n,u(t)),function(){return[i.references[n],function(t){return e(n,u(t,i.references[n]))}]}}function e(t,e){var u=i.references[t];i.references[t]=e,r(t=o[t][1])&&t(e,u),r(n)&&n()}var i={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){i.references=[],o.forEach((function(n,r){return t(r,n[0])}))}}}(),i=function(n,t){var r=t.suiteId;return{optionalFields:n.registerStateKey((function(){return{}})),prevTestObjects:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return r})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]})),testObjectsCursor:n.registerStateKey((function(){return 0}))}}(e,{suiteId:rt()});return An(et.bind({stateRef:i,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var u=J()[0];return r=U().prevTestObjects()[1],e.reset(),r((function(){return u})),n.apply(void 0,t),hn()})),{get:et.bind({stateRef:i},vn),remove:et.bind({stateRef:i},(function(n){var t=J()[0];[].concat(t).forEach((function(t){L(t,n)&&t.cancel()}))})),reset:e.reset})},n.enforce=tt,n.group=function(n,t){d(n)||Sn("name must be a string"),r(t)||Sn("callback must be a function"),et.run({groupName:n},t)},n.only=Cn,n.optional=function(n){(0,U().optionalFields()[1])((function(t){return[].concat(n).forEach((function(n){t[n]=!0})),t}))},n.skip=On,n.skipWhen=function(n,t){et.run({skipped:u(n)},(function(){return t()}))},n.test=vt,n.warn=function(){var n=et.useX("warn hook called outside of a running suite.");n.currentTest||A("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,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||t)}function r(n){return"function"==typeof n}function e(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function u(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return r(n)?n.apply(void 0,t):n}function i(n,t){var r;return null!==(r=u(n))&&void 0!==r?r:t}function o(n,t){return n={pass:n},t&&(n.message=t),n}function s(n,t){try{return n.run(t)}catch(n){return o(!1)}}function a(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function f(n,t){return n.length===Number(t)}function c(n,t){return n.length>Number(t)}function l(n){return null===n}function p(n){return void 0===n}function d(n){return String(n)===n}function g(n,t){return d(n)&&d(t)&&n.endsWith(t)}function v(n,t){return n===t}function h(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function y(n,t){return h(n)&&h(t)&&Number(n)>Number(t)}function m(n,t){return h(n)&&h(t)&&Number(n)>=Number(t)}function b(n,t){return!!(Array.isArray(t)||d(t)&&d(n))&&-1!==t.indexOf(n)}function N(n){return!!Array.isArray(n)}function E(n,t){return h(n)&&h(t)&&Number(n)<=Number(t)}function C(n,t,r){return m(n,t)&&E(n,r)}function O(n){return!!n===n}function w(n){return"number"==typeof n}function S(n){if(n){if(w(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return f(n,0);if("object"==typeof n)return f(Object.keys(n),0)}return!0}function T(n){return Number.isNaN(n)}function x(n){return!!h(n)&&0>Number(n)}function P(n){return!!n}function k(n,t){return h(n)&&h(t)&&Number(n)<Number(t)}function j(n,t){return t instanceof RegExp?t.test(n):!!d(t)&&new RegExp(t).test(n)}function F(n,t){return h(n)&&h(t)&&Number(n)===Number(t)}function A(n,t){return d(n)&&d(t)&&n.startsWith(t)}function W(n,t){throw Error(i(t,n))}function I(n){function t(t,u){var i,o,s=r();return t=Wn({},s||{},null!==(i=null==n?void 0:n(t,s))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){var t;return null!==(t=e.ctx)&&void 0!==t?t:W(i(n,"Context was used after it was closed"))}}}function R(){return null}function q(n,t){var r,e=function(r){var e=n[r],u=t[r];if(!(r=$n.run({value:e,set:!0,meta:{key:r}},(function(){return s(u,e)}))).pass)return{value:r}};for(r in t){var u=e(r);if("object"==typeof u)return u.value}return o(!0)}function B(n){for(var t in nt){var e=nt[t];r(e)&&n(t,e)}}function D(){return"function"==typeof Proxy}function G(n,r,e){for(var i=[],s=3;s<arguments.length;s++)i[s-3]=arguments[s];return O(n)||n&&O(n.pass)||W("Incorrect return value for rule: "+JSON.stringify(n)),O(n)?o(n):o(n.pass,u.apply(void 0,t([n.message,r,e],i,!1)))}function X(n){function r(r,e,u){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];if(!(o=G.apply(void 0,t([$n.run({value:n},(function(){return e.apply(void 0,t([n],i,!1))})),u,n],i,!1))).pass){if(!S(o.message))throw o.message;W("enforce/"+u+" failed with "+JSON.stringify(n))}return r}}var e={};if(!D())return B((function(n,t){e[n]=r(e,t,n)})),e;var u=new Proxy(e,{get:function(n,t){if(n=nt[t])return r(u,n,t)}});return u}function K(n){var r,s=[];return function n(a){return function(){for(var f=[],c=0;c<arguments.length;c++)f[c]=arguments[c];var l=nt[a];s.push((function(n){return G.apply(void 0,t([l.apply(void 0,t([n],f,!1)),a,n],f,!1))}));var p={run:function(n){return i(e(s,(function(t,e){var i,s=$n.run({value:n},(function(){return t(n)}));s.pass||e(o(!!s.pass,null!==(i=u(r,n,s.message))&&void 0!==i?i:s.message))})),o(!0))},test:function(n){return p.run(n).pass},message:function(n){return n&&(r=n),p}};return D()?p=new Proxy(p,{get:function(t,r){return nt[r]?n(r):t[r]}}):(B((function(t){p[t]=n(t)})),p)}}(n)}function _(n){var t,r={};for(t in n)r[t]=tt.optional(n[t]);return r}function L(n,t){return!(!t||n.fieldName!==t)}function M(n){void 0===n&&(n=10);var t=[],r=function(e,u){var i=r.get(e);return i?i[1]:(u=u(),t.unshift([e.concat(),u]),t.length>n&&(t.length=n),u)};return r.invalidate=function(n){var r=t.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}));-1<r&&t.splice(r,1)},r.get=function(n){return t[t.findIndex((function(t){var r=t[0];return f(n,r.length)&&n.every((function(n,t){return n===r[t]}))}))]||null},r}function U(){return et.useX().stateRef}function J(){return U().testObjects()}function z(n){var t=U().testObjectsCursor()[0],r=J();n!==r[0][t]&&(0,r[1])((function(r){return(r=r.slice(0))[t]=n,r}))}function V(){(0,U().testObjectsCursor()[1])((function(n){return n+1}))}function Y(n){return!!U().optionalFields()[0][n]}function H(){return J()[0].filter((function(n){return n.isPending()}))}function Q(n){var t=H();return!S(t)&&(n?t.some((function(t){return L(t,n)})):Un(t))}function Z(n,t){function r(n,t){i[n]++,u&&(i[t]=(i[t]||[]).concat(u))}var e=t.fieldName,u=t.message;n[e]=n[e]||{errorCount:0,warnCount:0,testCount:0};var i=n[e];return t.isSkipped()||(n[e].testCount++,t.isFailing()?r("errorCount","errors"):t.isWarning()&&r("warnCount","warnings")),i}function $(n,t,r){var e;void 0===r&&(r={});var u=(r=r||{}).group,i=r.fieldName;return t.reduce((function(t,r){return u&&r.groupName!==u||i&&!L(r,i)||"warnings"===n!=!!r.warns||!r.hasFailures()||(t[r.fieldName]=(t[r.fieldName]||[]).concat(r.message||[])),t}),An({},i&&((e={})[i]=[],e)))}function nn(n){return rn("errors",n)}function tn(n){return rn("warnings",n)}function rn(n,t){return n=$(n,J()[0],{fieldName:t}),t?n[t]:n}function en(n,t){return n=on("errors",n,t),t?n[t]:n}function un(n,t){return n=on("warnings",n,t),t?n[t]:n}function on(n,t,r){return t||W("get"+n[0].toUpperCase()+n.slice(1)+"ByGroup requires a group name. Received `"+t+"` instead."),$(n,J()[0],{group:t,fieldName:r})}function sn(n,t,r){return!(!n.hasFailures()||r&&!L(n,r)||"warnings"===t!=!!n.warns)}function an(n){return cn("errors",n)}function fn(n){return cn("warnings",n)}function cn(n,t){return J()[0].some((function(r){return sn(r,n,t)}))}function ln(n,t){return dn("errors",n,t)}function pn(n,t){return dn("warnings",n,t)}function dn(n,t,r){return J()[0].some((function(e){return t===e.groupName&&sn(e,n,r)}))}function gn(n,t){return!n.hasErrors(t)&&(!(S(J()[0])||t&&S(n.tests[t])||Un(H().filter((function(n){return!(t&&!L(n,t))&&!Y(n.fieldName)}))))&&function(n){return J()[0].every((function(t){return!!(n&&!L(t,n)||Y(t.fieldName))||t.isTested()}))}(t))}function vn(){var n=J()[0],t={stateRef:U()};return ut([n],et.bind(t,(function(){return Wn(function(){var n={errorCount:0,groups:{},testCount:0,tests:{},warnCount:0};return J()[0].forEach((function(t){var r=t.fieldName,e=t.groupName;n.tests[r]=Z(n.tests,t),e&&(n.groups[e]=n.groups[e]||{},n.groups[e][r]=Z(n.groups[e],t))})),function(n){for(var t in n.tests)n.errorCount+=n.tests[t].errorCount,n.warnCount+=n.tests[t].warnCount,n.testCount+=n.tests[t].testCount;return n}(n)}(),{getErrors:et.bind(t,nn),getErrorsByGroup:et.bind(t,en),getWarnings:et.bind(t,tn),getWarningsByGroup:et.bind(t,un),hasErrors:et.bind(t,an),hasErrorsByGroup:et.bind(t,ln),hasWarnings:et.bind(t,fn),hasWarningsByGroup:et.bind(t,pn),isValid:et.bind(t,(function(n){return gn(vn(),n)}))})})))}function hn(){var n=J()[0],t={stateRef:U()};return it([n],et.bind(t,(function(){return Wn({},vn(),{done:et.bind(t,ot)})})))}function yn(n,t,e){return!(r(n)&&(!t||e.tests[t]&&0!==e.tests[t].testCount))}function mn(n){return!(Q()&&(!n||Q(n)))}function bn(n,t){var r=et.bind({},n);(0,U().testCallbacks()[1])((function(n){return t?n.fieldCallbacks[t]=(n.fieldCallbacks[t]||[]).concat(r):n.doneCallbacks.push(r),n}))}function Nn(n){return n.forEach((function(n){return n()}))}function En(){var n=et.useX();return n.bus||W(),n.bus}function Cn(n){return wn("only","tests",n)}function On(n){return wn("skip","tests",n)}function wn(n,t,r){var e=et.useX("hook called outside of a running suite.");r&&[].concat(r).forEach((function(r){d(r)&&(e.exclusion[t][r]="only"===n)}))}function Sn(n){for(var t in n)if(!0===n[t])return!0;return!1}function Tn(n){W("Wrong arguments passed to group. Group "+n+".")}function xn(n){var t=n.asyncTest,e=n.message;if(t&&r(t.then)){var u=En().emit,i=U(),o=et.bind({stateRef:i},(function(){u(jn.TEST_COMPLETED,n)}));i=et.bind({stateRef:i},(function(t){n.isCanceled()||(n.message=d(t)?t:e,n.fail(),(0,J()[1])((function(n){return n.slice(0)})),o())}));try{t.then(o,i)}catch(n){i()}}}function Pn(n){var t=U().testObjectsCursor()[0],e=U().prevTestObjects()[0];if(z(t=i(e[t],n)),function(n){var t=n.fieldName;n=n.groupName;var r=et.useX();if(r.skipped)return!0;var e=(r=r.exclusion).tests,u=e[t];if(!1===u)return!0;if(u=!0===u,n){n:{var i=et.useX().exclusion.groups;if(Object.prototype.hasOwnProperty.call(i,n))var o=!1===i[n];else{for(o in i)if(!0===i[o]){o=!0;break n}o=!1}}if(o)return!0;if(!0===r.groups[n])return!(u||!Sn(e)&&!1!==e[t])}return!u&&Sn(e)}(n))return n.skip(),V(),t;if(n!==t&&t.fieldName===n.fieldName&&t.groupName===n.groupName&&t.isPending()&&t.cancel(),z(n),V(),n.isUntested()){t=En().emit,e=function(n){return et.run({currentTest:n},(function(){try{var t=n.testFn()}catch(r){t=r,p(n.message)&&d(t)&&(n.message=r),t=!1}return!1===t&&n.fail(),t}))}(n);try{e&&r(e.then)?(n.asyncTest=e,n.setPending(),xn(n)):t(jn.TEST_COMPLETED,n)}catch(t){W("Your test function "+n.fieldName+" returned "+JSON.stringify(e)+'. Only "false" or a Promise are supported. Return values may cause unexpected behavior.')}}else(t=n.asyncTest)&&r(t.then)&&(n.setPending(),xn(n));return n}function kn(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];r=t.reverse(),t=r[0],r=r[1];var e=et.useX();return Pn(t=new st(n,t,{message:r,groupName:null==e?void 0:e.groupName}))}var jn,Fn,An=function(){return An=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(n[u]=t[u]);return n},An.apply(this,arguments)},Wn=Object.assign,In=a(f),Rn=a(l),qn=a(p),Bn=a(g),Dn=a(v),Gn=a(h),Xn=a(b),Kn=a(N),_n=a(C),Ln=a(O),Mn=a(w),Un=a(S),Jn=a(T),zn=a(x),Vn=a(d),Yn=a(P),Hn=a(j),Qn=a(F),Zn=a(A),$n=I((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?Wn(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:Wn(r,{parent:R})})),nt=Wn({condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:Bn,doesNotStartWith:Zn,endsWith:g,equals:v,greaterThan:y,greaterThanOrEquals:m,gt:y,gte:m,inside:b,isArray:N,isBetween:C,isBoolean:O,isEmpty:S,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:Yn,isNaN:T,isNegative:x,isNotArray:Kn,isNotBetween:_n,isNotBoolean:Ln,isNotEmpty:Un,isNotNaN:Jn,isNotNull:Rn,isNotNumber:Mn,isNotNumeric:Gn,isNotString:Vn,isNotUndefined:qn,isNull:l,isNumber:w,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:zn,isString:d,isTruthy:P,isUndefined:p,lengthEquals:f,lengthNotEquals:In,lessThan:k,lessThanOrEquals:E,longerThan:c,longerThanOrEquals:function(n,t){return n.length>=Number(t)},lt:k,lte:E,matches:j,notEquals:Dn,notInside:Xn,notMatches:Hn,numberEquals:F,numberNotEquals:Qn,shorterThan:function(n,t){return n.length<Number(t)},shorterThanOrEquals:function(n,t){return n.length<=Number(t)},startsWith:A},{allOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return i(e(t,(function(t,r){(t=s(t,n)).pass||r(t)})),o(!0))},anyOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return i(e(t,(function(t,r){(t=s(t,n)).pass&&r(t)})),o(!1))},noneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return i(e(t,(function(t,r){s(t,n).pass&&r(o(!1))})),o(!0))},oneOf:function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var e=[];return t.some((function(t){if(c(e,1))return!1;(t=s(t,n)).pass&&e.push(t)})),o(f(e,1))},optional:function(n,t){return p(n)||null===n?o(!0):s(t,n)}},{shape:function(n,t){var r=q(n,t);if(!r.pass)return r;for(var e in n)if(!Object.prototype.hasOwnProperty.call(t,e))return o(!1);return o(!0)},loose:q,isArrayOf:function(n,t){return i(e(n,(function(n,r,e){(e=$n.run({value:n,set:!0,meta:{index:e}},(function(){return s(t,n)}))).pass||r(e)})),o(!0))}}),tt=(Fn=An({context:function(){return $n.useX()},extend:function(n){Wn(nt,n)}},{partial:_}),D()?new Proxy(Wn(X,Fn),{get:function(n,t){return t in n?n[t]:nt[t]?K(t):void 0}}):(B((function(n){Fn[n]=K(n)})),Fn)),rt=function(n){return function(){return""+n++}}(0),et=I((function(n,t){return t?null:Wn({},{exclusion:{tests:{},groups:{}}},n)})),ut=M(20),it=M(20),ot=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=(n=n.reverse())[0];if(n=n[1],t=hn(),yn(r,n,t))return t;var e=function(){return r(vn())};return mn(n)?(e(),t):(bn(e,n),t)};(jn||(jn={})).TEST_COMPLETED="test_completed",Cn.group=function(n){return wn("only","groups",n)},On.group=function(n){return wn("skip","groups",n)};var st=function(){function n(n,t,r){var e=void 0===r?{}:r;r=e.message,e=e.groupName,this.id=rt(),this.warns=!1,this.status=at,this.fieldName=n,this.testFn=t,e&&(this.groupName=e),r&&(this.message=r)}return n.prototype.run=function(){try{var n=this.testFn()}catch(t){n=t,p(this.message)&&d(n)&&(this.message=t),n=!1}return!1===n&&this.fail(),n},n.prototype.setStatus=function(n){this.isFinalStatus()||(this.status=n)},n.prototype.setPending=function(){this.setStatus(dt)},n.prototype.fail=function(){this.setStatus(this.warns?lt:ct)},n.prototype.done=function(){this.isFinalStatus()||this.setStatus(pt)},n.prototype.warn=function(){this.warns=!0},n.prototype.isFinalStatus=function(){return this.hasFailures()||this.isCanceled()||this.isPassing()},n.prototype.skip=function(){this.setStatus(ft)},n.prototype.cancel=function(){this.setStatus(gt),function(n){(0,J()[1])((function(t){var r=t.indexOf(n);return-1!==r&&t.splice(r,1),[].concat(t)}))}(this)},n.prototype.valueOf=function(){return!this.isFailing()},n.prototype.hasFailures=function(){return this.isFailing()||this.isWarning()},n.prototype.isPending=function(){return this.status===dt},n.prototype.isTested=function(){return this.hasFailures()||this.isPassing()},n.prototype.isUntested=function(){return this.status===at},n.prototype.isFailing=function(){return this.status===ct},n.prototype.isCanceled=function(){return this.status===gt},n.prototype.isSkipped=function(){return this.status===ft},n.prototype.isPassing=function(){return this.status===pt},n.prototype.isWarning=function(){return this.status===lt},n}(),at="UNTESTED",ft="SKIPPED",ct="FAILED",lt="WARNING",pt="PASSING",dt="PENDING",gt="CANCELED",vt=Wn(kn,{each:function(n){return function(r){return Array.isArray(r)||W("test.each: Expected table to be an array."),function(e){for(var i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];var s=(i=i.reverse())[0],a=i[1];return r.map((function(r){return r=[].concat(r),n(u.apply(void 0,t([e],r,!1)),u.apply(void 0,t([a],r,!1)),(function(){return s.apply(void 0,r)}))}))}}}(kn),memo:function(n){var t=M(100);return function(r){for(var e=[],u=1;u<arguments.length;u++)e[u-1]=arguments[u];u=U().suiteId()[0];var i=U().testObjectsCursor()[0],o=(e=e.reverse())[1],s=e[2];return e=[u,r,i].concat(e[0]),null===(u=t.get(e))?t(e,(function(){return n(r,s,o)})):u[1].isCanceled()?(t.invalidate(e),t(e,(function(){return n(r,s,o)}))):Pn(u[1])}}(kn)});n.VERSION="4.0.0-dev-f53683",n.create=function(n){r(n)||W("Suite initialization error. Expected `tests` to be a function.");var t=function(){var n=function(){var n={};return{emit:function(t,r){n[t]&&n[t].forEach((function(n){n(r)}))},on:function(t,r){return n[t]||(n[t]=[]),n[t].push(r),{off:function(){n[t]=n[t].filter((function(n){return n!==r}))}}}}}();return n.on(jn.TEST_COMPLETED,(function(n){if(!n.isCanceled()){n.done(),n=n.fieldName;var t=U().testCallbacks()[0].fieldCallbacks;n&&!Q(n)&&Array.isArray(t[n])&&Nn(t[n]),n=U().testCallbacks()[0].doneCallbacks,Q()||Nn(n)}})),n}(),e=function(n){function t(n,t){return i.references.push(),e(n,u(t)),function(){return[i.references[n],function(t){return e(n,u(t,i.references[n]))}]}}function e(t,e){var u=i.references[t];i.references[t]=e,r(t=o[t][1])&&t(e,u),r(n)&&n()}var i={references:[]},o=[];return{registerStateKey:function(n,r){var e=o.length;return o.push([n,r]),t(e,n)},reset:function(){i.references=[],o.forEach((function(n,r){return t(r,n[0])}))}}}(),i=function(n,t){var r=t.suiteId;return{optionalFields:n.registerStateKey((function(){return{}})),prevTestObjects:n.registerStateKey((function(){return[]})),suiteId:n.registerStateKey((function(){return r})),testCallbacks:n.registerStateKey((function(){return{fieldCallbacks:{},doneCallbacks:[]}})),testObjects:n.registerStateKey((function(){return[]})),testObjectsCursor:n.registerStateKey((function(){return 0}))}}(e,{suiteId:rt()});return Wn(et.bind({stateRef:i,bus:t},(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var u=J()[0];return r=U().prevTestObjects()[1],e.reset(),r((function(){return u})),n.apply(void 0,t),hn()})),{get:et.bind({stateRef:i},vn),remove:et.bind({stateRef:i},(function(n){var t=J()[0];[].concat(t).forEach((function(t){L(t,n)&&t.cancel()}))})),reset:e.reset})},n.enforce=tt,n.group=function(n,t){d(n)||Tn("name must be a string"),r(t)||Tn("callback must be a function"),et.run({groupName:n},t)},n.only=Cn,n.optional=function(n){(0,U().optionalFields()[1])((function(t){return[].concat(n).forEach((function(n){t[n]=!0})),t}))},n.skip=On,n.skipWhen=function(n,t){et.run({skipped:u(n)},(function(){return t()}))},n.test=vt,n.warn=function(){var n=et.useX("warn hook called outside of a running suite.");n.currentTest||W("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
|
@@ -250,6 +250,7 @@ declare class VestTest {
|
|
|
250
250
|
fail(): void;
|
|
251
251
|
done(): void;
|
|
252
252
|
warn(): void;
|
|
253
|
+
isFinalStatus(): boolean;
|
|
253
254
|
skip(): void;
|
|
254
255
|
cancel(): void;
|
|
255
256
|
valueOf(): boolean;
|
|
@@ -310,5 +311,5 @@ declare const _default: typeof testBase & {
|
|
|
310
311
|
};
|
|
311
312
|
};
|
|
312
313
|
declare const test: typeof _default;
|
|
313
|
-
declare const VERSION = "4.0.0-dev-
|
|
314
|
+
declare const VERSION = "4.0.0-dev-f53683";
|
|
314
315
|
export { test, create, only, skip, warn, group, optional$0 as optional, skipWhen, enforce, VERSION };
|