vest 5.4.3 → 5.4.5-dev-20241111-88df
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/SuiteSerializer/package.json +1 -0
- package/classnames/package.json +1 -0
- package/debounce/package.json +1 -0
- package/dist/cjs/SuiteSerializer.development.js +115 -2
- package/dist/cjs/SuiteSerializer.development.js.map +1 -1
- package/dist/cjs/SuiteSerializer.production.js +1 -1
- package/dist/cjs/SuiteSerializer.production.js.map +1 -1
- package/dist/cjs/vest.development.js +33 -4
- package/dist/cjs/vest.development.js.map +1 -1
- package/dist/cjs/vest.production.js +1 -1
- package/dist/cjs/vest.production.js.map +1 -1
- package/dist/es/SuiteSerializer.development.js +115 -2
- package/dist/es/SuiteSerializer.development.js.map +1 -1
- package/dist/es/SuiteSerializer.production.js +1 -1
- package/dist/es/SuiteSerializer.production.js.map +1 -1
- package/dist/es/vest.development.js +33 -4
- package/dist/es/vest.development.js.map +1 -1
- package/dist/es/vest.production.js +1 -1
- package/dist/es/vest.production.js.map +1 -1
- package/dist/umd/SuiteSerializer.development.js +118 -6
- package/dist/umd/SuiteSerializer.development.js.map +1 -1
- package/dist/umd/SuiteSerializer.production.js +1 -1
- package/dist/umd/SuiteSerializer.production.js.map +1 -1
- package/dist/umd/vest.development.js +33 -4
- package/dist/umd/vest.development.js.map +1 -1
- package/dist/umd/vest.production.js +1 -1
- package/dist/umd/vest.production.js.map +1 -1
- package/enforce/compose/package.json +1 -0
- package/enforce/compounds/package.json +1 -0
- package/enforce/date/package.json +1 -0
- package/enforce/email/package.json +1 -0
- package/enforce/isURL/package.json +1 -0
- package/enforce/schema/package.json +1 -0
- package/package.json +6 -6
- package/parser/package.json +1 -0
- package/promisify/package.json +1 -0
- package/types/SuiteSerializer.d.ts +2 -0
- package/types/SuiteSerializer.d.ts.map +1 -1
- package/types/classnames.d.ts +3 -1
- package/types/classnames.d.ts.map +1 -1
- package/types/debounce.d.ts +2 -0
- package/types/debounce.d.ts.map +1 -1
- package/types/parser.d.ts +3 -1
- package/types/parser.d.ts.map +1 -1
- package/types/promisify.d.ts +3 -1
- package/types/promisify.d.ts.map +1 -1
- package/types/vest.d.ts +3 -1
- package/types/vest.d.ts.map +1 -1
package/classnames/package.json
CHANGED
package/debounce/package.json
CHANGED
|
@@ -1,11 +1,103 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var vestjsRuntime = require('vestjs-runtime');
|
|
4
|
+
var vestUtils = require('vest-utils');
|
|
5
|
+
|
|
6
|
+
var IsolateKeys;
|
|
7
|
+
(function (IsolateKeys) {
|
|
8
|
+
IsolateKeys["Type"] = "$type";
|
|
9
|
+
IsolateKeys["Keys"] = "keys";
|
|
10
|
+
IsolateKeys["Key"] = "key";
|
|
11
|
+
IsolateKeys["Parent"] = "parent";
|
|
12
|
+
IsolateKeys["Data"] = "data";
|
|
13
|
+
IsolateKeys["AllowReorder"] = "allowReorder";
|
|
14
|
+
IsolateKeys["Status"] = "status";
|
|
15
|
+
IsolateKeys["AbortController"] = "abortController";
|
|
16
|
+
IsolateKeys["Children"] = "children";
|
|
17
|
+
})(IsolateKeys || (IsolateKeys = {}));
|
|
18
|
+
new Set([
|
|
19
|
+
IsolateKeys.AbortController,
|
|
20
|
+
IsolateKeys.Parent,
|
|
21
|
+
IsolateKeys.Keys,
|
|
22
|
+
]);
|
|
23
|
+
|
|
24
|
+
const CommonStates = {
|
|
25
|
+
PENDING: 'PENDING',
|
|
26
|
+
INITIAL: 'INITIAL',
|
|
27
|
+
DONE: 'DONE',
|
|
28
|
+
};
|
|
29
|
+
const State = {
|
|
30
|
+
[CommonStates.PENDING]: CommonStates.PENDING,
|
|
31
|
+
[CommonStates.INITIAL]: CommonStates.INITIAL,
|
|
32
|
+
[CommonStates.DONE]: CommonStates.DONE,
|
|
33
|
+
};
|
|
34
|
+
const machine$1 = {
|
|
35
|
+
initial: State.INITIAL,
|
|
36
|
+
states: {
|
|
37
|
+
[State.DONE]: {},
|
|
38
|
+
[State.INITIAL]: {
|
|
39
|
+
[State.PENDING]: State.PENDING,
|
|
40
|
+
[State.DONE]: State.DONE,
|
|
41
|
+
},
|
|
42
|
+
[State.PENDING]: {
|
|
43
|
+
[State.DONE]: State.DONE,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
vestUtils.StateMachine(machine$1);
|
|
48
|
+
|
|
49
|
+
const TestStatus = {
|
|
50
|
+
[CommonStates.PENDING]: CommonStates.PENDING,
|
|
51
|
+
CANCELED: 'CANCELED',
|
|
52
|
+
FAILED: 'FAILED',
|
|
53
|
+
OMITTED: 'OMITTED',
|
|
54
|
+
PASSING: 'PASSING',
|
|
55
|
+
SKIPPED: 'SKIPPED',
|
|
56
|
+
UNTESTED: 'UNTESTED',
|
|
57
|
+
WARNING: 'WARNING',
|
|
58
|
+
};
|
|
59
|
+
const TestAction = {
|
|
60
|
+
RESET: 'RESET',
|
|
61
|
+
};
|
|
62
|
+
const machine = {
|
|
63
|
+
initial: TestStatus.UNTESTED,
|
|
64
|
+
states: {
|
|
65
|
+
'*': {
|
|
66
|
+
[TestStatus.OMITTED]: TestStatus.OMITTED,
|
|
67
|
+
[TestAction.RESET]: TestStatus.UNTESTED,
|
|
68
|
+
},
|
|
69
|
+
[TestStatus.UNTESTED]: {
|
|
70
|
+
[TestStatus.CANCELED]: TestStatus.CANCELED,
|
|
71
|
+
[TestStatus.FAILED]: TestStatus.FAILED,
|
|
72
|
+
[TestStatus.PASSING]: TestStatus.PASSING,
|
|
73
|
+
[TestStatus.PENDING]: TestStatus.PENDING,
|
|
74
|
+
[TestStatus.SKIPPED]: TestStatus.SKIPPED,
|
|
75
|
+
[TestStatus.WARNING]: TestStatus.WARNING,
|
|
76
|
+
},
|
|
77
|
+
[TestStatus.PENDING]: {
|
|
78
|
+
[TestStatus.CANCELED]: TestStatus.CANCELED,
|
|
79
|
+
[TestStatus.FAILED]: TestStatus.FAILED,
|
|
80
|
+
[TestStatus.PASSING]: TestStatus.PASSING,
|
|
81
|
+
[TestStatus.SKIPPED]: [
|
|
82
|
+
TestStatus.SKIPPED,
|
|
83
|
+
(force) => force === true,
|
|
84
|
+
],
|
|
85
|
+
[TestStatus.WARNING]: TestStatus.WARNING,
|
|
86
|
+
},
|
|
87
|
+
[TestStatus.SKIPPED]: {},
|
|
88
|
+
[TestStatus.FAILED]: {},
|
|
89
|
+
[TestStatus.WARNING]: {},
|
|
90
|
+
[TestStatus.PASSING]: {},
|
|
91
|
+
[TestStatus.CANCELED]: {},
|
|
92
|
+
[TestStatus.OMITTED]: {},
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
vestUtils.StateMachine(machine);
|
|
4
96
|
|
|
5
97
|
class SuiteSerializer {
|
|
6
98
|
static serialize(suite) {
|
|
7
|
-
const dump = Object.assign(
|
|
8
|
-
return vestjsRuntime.IsolateSerializer.serialize(dump);
|
|
99
|
+
const dump = Object.assign({}, suite.dump());
|
|
100
|
+
return vestjsRuntime.IsolateSerializer.serialize(dump, suiteSerializerReplacer);
|
|
9
101
|
}
|
|
10
102
|
static deserialize(serialized) {
|
|
11
103
|
return vestjsRuntime.IsolateSerializer.deserialize(serialized);
|
|
@@ -15,6 +107,27 @@ class SuiteSerializer {
|
|
|
15
107
|
suite.resume(suiteRoot);
|
|
16
108
|
}
|
|
17
109
|
}
|
|
110
|
+
function suiteSerializerReplacer(value, key) {
|
|
111
|
+
if (key === 'output') {
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
if (key === IsolateKeys.Status) {
|
|
115
|
+
if (AllowedStatuses.has(value)) {
|
|
116
|
+
return value;
|
|
117
|
+
}
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
if (DisallowedKeys.has(key)) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
return value;
|
|
124
|
+
}
|
|
125
|
+
const AllowedStatuses = new Set([
|
|
126
|
+
TestStatus.FAILED,
|
|
127
|
+
TestStatus.PASSING,
|
|
128
|
+
TestStatus.WARNING,
|
|
129
|
+
]);
|
|
130
|
+
const DisallowedKeys = new Set(['focusMode', 'match', 'matchAll', 'severity']);
|
|
18
131
|
|
|
19
132
|
exports.SuiteSerializer = SuiteSerializer;
|
|
20
133
|
//# sourceMappingURL=SuiteSerializer.development.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuiteSerializer.development.js","sources":["../../src/exports/SuiteSerializer.ts"],"sourcesContent":["import { CB } from 'vest-utils';\nimport { IsolateSerializer } from 'vestjs-runtime';\n\nimport { TIsolateSuite } from 'IsolateSuite';\nimport { TFieldName, TGroupName } from 'SuiteResultTypes';\nimport { Suite } from 'SuiteTypes';\n\nexport type Dumpable = {\n dump: CB<TIsolateSuite>;\n};\n\nexport class SuiteSerializer {\n static serialize(suite: Dumpable) {\n const dump = { ...suite.dump()
|
|
1
|
+
{"version":3,"file":"SuiteSerializer.development.js","sources":["../../../vestjs-runtime/src/Isolate/IsolateKeys.ts","../../src/core/StateMachines/CommonStateMachine.ts","../../src/core/StateMachines/IsolateTestStateMachine.ts","../../src/exports/SuiteSerializer.ts"],"sourcesContent":["export enum IsolateKeys {\n Type = '$type',\n Keys = 'keys',\n Key = 'key',\n Parent = 'parent',\n Data = 'data',\n AllowReorder = 'allowReorder',\n Status = 'status',\n AbortController = 'abortController',\n Children = 'children',\n}\n\nexport const ExcludedFromDump = new Set([\n IsolateKeys.AbortController,\n IsolateKeys.Parent,\n IsolateKeys.Keys,\n]);\n","import { StateMachine, TStateMachine, ValueOf } from 'vest-utils';\n\nexport const CommonStates = {\n PENDING: 'PENDING',\n INITIAL: 'INITIAL',\n DONE: 'DONE',\n};\n\nconst State = {\n [CommonStates.PENDING]: CommonStates.PENDING,\n [CommonStates.INITIAL]: CommonStates.INITIAL,\n [CommonStates.DONE]: CommonStates.DONE,\n};\n\nexport type State = ValueOf<typeof State>;\n\nconst machine: TStateMachine<State> = {\n initial: State.INITIAL,\n states: {\n [State.DONE]: {},\n [State.INITIAL]: {\n [State.PENDING]: State.PENDING,\n [State.DONE]: State.DONE,\n },\n [State.PENDING]: {\n [State.DONE]: State.DONE,\n },\n },\n};\n\nexport const CommonStateMachine = StateMachine<State>(machine);\n","import { StateMachine, TStateMachine, ValueOf } from 'vest-utils';\n\nimport { CommonStates } from 'CommonStateMachine';\n\nexport const TestStatus = {\n [CommonStates.PENDING]: CommonStates.PENDING,\n CANCELED: 'CANCELED',\n FAILED: 'FAILED',\n OMITTED: 'OMITTED',\n PASSING: 'PASSING',\n SKIPPED: 'SKIPPED',\n UNTESTED: 'UNTESTED',\n WARNING: 'WARNING',\n};\n\nexport const TestAction = {\n RESET: 'RESET',\n};\n\nexport type TestStatus = ValueOf<typeof TestStatus>;\nexport type TestAction = ValueOf<typeof TestAction>;\n\nexport type TestStateMachineAction = TestAction | TestStatus;\n\nconst machine: TStateMachine<TestStatus, TestStateMachineAction> = {\n initial: TestStatus.UNTESTED,\n states: {\n '*': {\n [TestStatus.OMITTED]: TestStatus.OMITTED,\n [TestAction.RESET]: TestStatus.UNTESTED,\n },\n [TestStatus.UNTESTED]: {\n [TestStatus.CANCELED]: TestStatus.CANCELED,\n [TestStatus.FAILED]: TestStatus.FAILED,\n\n [TestStatus.PASSING]: TestStatus.PASSING,\n [TestStatus.PENDING]: TestStatus.PENDING,\n [TestStatus.SKIPPED]: TestStatus.SKIPPED,\n [TestStatus.WARNING]: TestStatus.WARNING,\n },\n [TestStatus.PENDING]: {\n [TestStatus.CANCELED]: TestStatus.CANCELED,\n [TestStatus.FAILED]: TestStatus.FAILED,\n\n [TestStatus.PASSING]: TestStatus.PASSING,\n [TestStatus.SKIPPED]: [\n TestStatus.SKIPPED,\n (force?: boolean) => force === true,\n ],\n [TestStatus.WARNING]: TestStatus.WARNING,\n },\n [TestStatus.SKIPPED]: {},\n [TestStatus.FAILED]: {},\n [TestStatus.WARNING]: {},\n [TestStatus.PASSING]: {},\n [TestStatus.CANCELED]: {},\n [TestStatus.OMITTED]: {},\n },\n};\n\nexport const IsolateTestStateMachine = StateMachine<\n TestStatus,\n TestStateMachineAction\n>(machine);\n","import { CB } from 'vest-utils';\nimport { IsolateSerializer } from 'vestjs-runtime';\nimport { IsolateKeys } from 'vestjs-runtime/src/Isolate/IsolateKeys';\n\nimport { TIsolateSuite } from 'IsolateSuite';\nimport { TestStatus } from 'IsolateTestStateMachine';\nimport { TFieldName, TGroupName } from 'SuiteResultTypes';\nimport { Suite } from 'SuiteTypes';\n\nexport type Dumpable = {\n dump: CB<TIsolateSuite>;\n};\n\nexport class SuiteSerializer {\n static serialize(suite: Dumpable) {\n const dump = { ...suite.dump() };\n\n return IsolateSerializer.serialize(dump, suiteSerializerReplacer);\n }\n\n static deserialize(\n serialized: string | TIsolateSuite | Record<string, any>,\n ): TIsolateSuite {\n return IsolateSerializer.deserialize(serialized) as TIsolateSuite;\n }\n\n static resume(\n suite: Suite<TFieldName, TGroupName>,\n root: string | TIsolateSuite | Record<string, any>,\n ): void {\n const suiteRoot = SuiteSerializer.deserialize(root);\n\n suite.resume(suiteRoot);\n }\n}\n\nfunction suiteSerializerReplacer(value: any, key: string) {\n if (key === 'output') {\n return undefined;\n }\n\n if (key === IsolateKeys.Status) {\n if (AllowedStatuses.has(value)) {\n return value;\n }\n\n return undefined;\n }\n\n if (DisallowedKeys.has(key)) {\n return undefined;\n }\n\n return value;\n}\n\nconst AllowedStatuses = new Set([\n TestStatus.FAILED,\n TestStatus.PASSING,\n TestStatus.WARNING,\n]);\n\nconst DisallowedKeys = new Set(['focusMode', 'match', 'matchAll', 'severity']);\n"],"names":["machine","StateMachine","IsolateSerializer"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vestjs-runtime");
|
|
1
|
+
"use strict";var e,t=require("vestjs-runtime"),E=require("vest-utils");!function(e){e.Type="$type",e.Keys="keys",e.Key="key",e.Parent="parent",e.Data="data",e.AllowReorder="allowReorder",e.Status="status",e.AbortController="abortController",e.Children="children"}(e||(e={})),new Set([e.AbortController,e.Parent,e.Keys]);const N="PENDING",I="INITIAL",r="DONE",D={[N]:N,[I]:I,[r]:r},i={initial:D.INITIAL,states:{[D.DONE]:{},[D.INITIAL]:{[D.PENDING]:D.PENDING,[D.DONE]:D.DONE},[D.PENDING]:{[D.DONE]:D.DONE}}};E.StateMachine(i);const s={[N]:N,CANCELED:"CANCELED",FAILED:"FAILED",OMITTED:"OMITTED",PASSING:"PASSING",SKIPPED:"SKIPPED",UNTESTED:"UNTESTED",WARNING:"WARNING"},a={initial:s.UNTESTED,states:{"*":{[s.OMITTED]:s.OMITTED,RESET:s.UNTESTED},[s.UNTESTED]:{[s.CANCELED]:s.CANCELED,[s.FAILED]:s.FAILED,[s.PASSING]:s.PASSING,[s.PENDING]:s.PENDING,[s.SKIPPED]:s.SKIPPED,[s.WARNING]:s.WARNING},[s.PENDING]:{[s.CANCELED]:s.CANCELED,[s.FAILED]:s.FAILED,[s.PASSING]:s.PASSING,[s.SKIPPED]:[s.SKIPPED,e=>!0===e],[s.WARNING]:s.WARNING},[s.SKIPPED]:{},[s.FAILED]:{},[s.WARNING]:{},[s.PASSING]:{},[s.CANCELED]:{},[s.OMITTED]:{}}};E.StateMachine(a);class S{static serialize(e){const E=Object.assign({},e.dump());return t.IsolateSerializer.serialize(E,A)}static deserialize(e){return t.IsolateSerializer.deserialize(e)}static resume(e,t){const E=S.deserialize(t);e.resume(E)}}function A(t,E){if("output"!==E){if(E===e.Status)return P.has(t)?t:void 0;if(!n.has(E))return t}}const P=new Set([s.FAILED,s.PASSING,s.WARNING]),n=new Set(["focusMode","match","matchAll","severity"]);exports.SuiteSerializer=S;
|
|
2
2
|
//# sourceMappingURL=SuiteSerializer.production.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuiteSerializer.production.js","sources":["../../src/exports/SuiteSerializer.ts"],"sourcesContent":["import { CB } from 'vest-utils';\nimport { IsolateSerializer } from 'vestjs-runtime';\n\nimport { TIsolateSuite } from 'IsolateSuite';\nimport { TFieldName, TGroupName } from 'SuiteResultTypes';\nimport { Suite } from 'SuiteTypes';\n\nexport type Dumpable = {\n dump: CB<TIsolateSuite>;\n};\n\nexport class SuiteSerializer {\n static serialize(suite: Dumpable) {\n const dump = { ...suite.dump()
|
|
1
|
+
{"version":3,"file":"SuiteSerializer.production.js","sources":["../../../vestjs-runtime/src/Isolate/IsolateKeys.ts","../../src/core/StateMachines/CommonStateMachine.ts","../../src/core/StateMachines/IsolateTestStateMachine.ts","../../src/exports/SuiteSerializer.ts"],"sourcesContent":["export enum IsolateKeys {\n Type = '$type',\n Keys = 'keys',\n Key = 'key',\n Parent = 'parent',\n Data = 'data',\n AllowReorder = 'allowReorder',\n Status = 'status',\n AbortController = 'abortController',\n Children = 'children',\n}\n\nexport const ExcludedFromDump = new Set([\n IsolateKeys.AbortController,\n IsolateKeys.Parent,\n IsolateKeys.Keys,\n]);\n","import { StateMachine, TStateMachine, ValueOf } from 'vest-utils';\n\nexport const CommonStates = {\n PENDING: 'PENDING',\n INITIAL: 'INITIAL',\n DONE: 'DONE',\n};\n\nconst State = {\n [CommonStates.PENDING]: CommonStates.PENDING,\n [CommonStates.INITIAL]: CommonStates.INITIAL,\n [CommonStates.DONE]: CommonStates.DONE,\n};\n\nexport type State = ValueOf<typeof State>;\n\nconst machine: TStateMachine<State> = {\n initial: State.INITIAL,\n states: {\n [State.DONE]: {},\n [State.INITIAL]: {\n [State.PENDING]: State.PENDING,\n [State.DONE]: State.DONE,\n },\n [State.PENDING]: {\n [State.DONE]: State.DONE,\n },\n },\n};\n\nexport const CommonStateMachine = StateMachine<State>(machine);\n","import { StateMachine, TStateMachine, ValueOf } from 'vest-utils';\n\nimport { CommonStates } from 'CommonStateMachine';\n\nexport const TestStatus = {\n [CommonStates.PENDING]: CommonStates.PENDING,\n CANCELED: 'CANCELED',\n FAILED: 'FAILED',\n OMITTED: 'OMITTED',\n PASSING: 'PASSING',\n SKIPPED: 'SKIPPED',\n UNTESTED: 'UNTESTED',\n WARNING: 'WARNING',\n};\n\nexport const TestAction = {\n RESET: 'RESET',\n};\n\nexport type TestStatus = ValueOf<typeof TestStatus>;\nexport type TestAction = ValueOf<typeof TestAction>;\n\nexport type TestStateMachineAction = TestAction | TestStatus;\n\nconst machine: TStateMachine<TestStatus, TestStateMachineAction> = {\n initial: TestStatus.UNTESTED,\n states: {\n '*': {\n [TestStatus.OMITTED]: TestStatus.OMITTED,\n [TestAction.RESET]: TestStatus.UNTESTED,\n },\n [TestStatus.UNTESTED]: {\n [TestStatus.CANCELED]: TestStatus.CANCELED,\n [TestStatus.FAILED]: TestStatus.FAILED,\n\n [TestStatus.PASSING]: TestStatus.PASSING,\n [TestStatus.PENDING]: TestStatus.PENDING,\n [TestStatus.SKIPPED]: TestStatus.SKIPPED,\n [TestStatus.WARNING]: TestStatus.WARNING,\n },\n [TestStatus.PENDING]: {\n [TestStatus.CANCELED]: TestStatus.CANCELED,\n [TestStatus.FAILED]: TestStatus.FAILED,\n\n [TestStatus.PASSING]: TestStatus.PASSING,\n [TestStatus.SKIPPED]: [\n TestStatus.SKIPPED,\n (force?: boolean) => force === true,\n ],\n [TestStatus.WARNING]: TestStatus.WARNING,\n },\n [TestStatus.SKIPPED]: {},\n [TestStatus.FAILED]: {},\n [TestStatus.WARNING]: {},\n [TestStatus.PASSING]: {},\n [TestStatus.CANCELED]: {},\n [TestStatus.OMITTED]: {},\n },\n};\n\nexport const IsolateTestStateMachine = StateMachine<\n TestStatus,\n TestStateMachineAction\n>(machine);\n","import { CB } from 'vest-utils';\nimport { IsolateSerializer } from 'vestjs-runtime';\nimport { IsolateKeys } from 'vestjs-runtime/src/Isolate/IsolateKeys';\n\nimport { TIsolateSuite } from 'IsolateSuite';\nimport { TestStatus } from 'IsolateTestStateMachine';\nimport { TFieldName, TGroupName } from 'SuiteResultTypes';\nimport { Suite } from 'SuiteTypes';\n\nexport type Dumpable = {\n dump: CB<TIsolateSuite>;\n};\n\nexport class SuiteSerializer {\n static serialize(suite: Dumpable) {\n const dump = { ...suite.dump() };\n\n return IsolateSerializer.serialize(dump, suiteSerializerReplacer);\n }\n\n static deserialize(\n serialized: string | TIsolateSuite | Record<string, any>,\n ): TIsolateSuite {\n return IsolateSerializer.deserialize(serialized) as TIsolateSuite;\n }\n\n static resume(\n suite: Suite<TFieldName, TGroupName>,\n root: string | TIsolateSuite | Record<string, any>,\n ): void {\n const suiteRoot = SuiteSerializer.deserialize(root);\n\n suite.resume(suiteRoot);\n }\n}\n\nfunction suiteSerializerReplacer(value: any, key: string) {\n if (key === 'output') {\n return undefined;\n }\n\n if (key === IsolateKeys.Status) {\n if (AllowedStatuses.has(value)) {\n return value;\n }\n\n return undefined;\n }\n\n if (DisallowedKeys.has(key)) {\n return undefined;\n }\n\n return value;\n}\n\nconst AllowedStatuses = new Set([\n TestStatus.FAILED,\n TestStatus.PASSING,\n TestStatus.WARNING,\n]);\n\nconst DisallowedKeys = new Set(['focusMode', 'match', 'matchAll', 'severity']);\n"],"names":["IsolateKeys","Set","AbortController","Parent","Keys","CommonStates","State","CommonStates_PENDING","CommonStates_INITIAL","CommonStates_DONE","machine","initial","INITIAL","states","DONE","PENDING","StateMachine","TestStatus","CANCELED","FAILED","OMITTED","PASSING","SKIPPED","UNTESTED","WARNING","RESET","force","SuiteSerializer","serialize","suite","dump","Object","assign","IsolateSerializer","suiteSerializerReplacer","deserialize","serialized","resume","root","suiteRoot","value","key","Status","AllowedStatuses","has","DisallowedKeys"],"mappings":"iBAAYA,uDAAZ,SAAYA,GACVA,EAAA,KAAA,QACAA,EAAA,KAAA,OACAA,EAAA,IAAA,MACAA,EAAA,OAAA,SACAA,EAAA,KAAA,OACAA,EAAA,aAAA,eACAA,EAAA,OAAA,SACAA,EAAA,gBAAA,kBACAA,EAAA,SAAA,UACD,CAVD,CAAYA,IAAAA,EAUX,CAAA,IAE+B,IAAIC,IAAI,CACtCD,EAAYE,gBACZF,EAAYG,OACZH,EAAYI,OCbP,MAAMC,EACF,UADEA,EAEF,UAFEA,EAGL,OAGFC,EAAQ,CACZC,CAACF,GAAuBA,EACxBG,CAACH,GAAuBA,EACxBI,CAACJ,GAAoBA,GAKjBK,EAAgC,CACpCC,QAASL,EAAMM,QACfC,OAAQ,CACN,CAACP,EAAMQ,MAAO,CAAE,EAChB,CAACR,EAAMM,SAAU,CACf,CAACN,EAAMS,SAAUT,EAAMS,QACvB,CAACT,EAAMQ,MAAOR,EAAMQ,MAEtB,CAACR,EAAMS,SAAU,CACf,CAACT,EAAMQ,MAAOR,EAAMQ,QAKQE,EAAAA,aAAoBN,GC1B/C,MAAMO,EAAa,CACxBV,CAACF,GAAuBA,EACxBa,SAAU,WACVC,OAAQ,SACRC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,SAAU,WACVC,QAAS,WAYLd,EAA6D,CACjEC,QAASM,EAAWM,SACpBV,OAAQ,CACN,IAAK,CACH,CAACI,EAAWG,SAAUH,EAAWG,QACjCK,MAAoBR,EAAWM,UAEjC,CAACN,EAAWM,UAAW,CACrB,CAACN,EAAWC,UAAWD,EAAWC,SAClC,CAACD,EAAWE,QAASF,EAAWE,OAEhC,CAACF,EAAWI,SAAUJ,EAAWI,QACjC,CAACJ,EAAWF,SAAUE,EAAWF,QACjC,CAACE,EAAWK,SAAUL,EAAWK,QACjC,CAACL,EAAWO,SAAUP,EAAWO,SAEnC,CAACP,EAAWF,SAAU,CACpB,CAACE,EAAWC,UAAWD,EAAWC,SAClC,CAACD,EAAWE,QAASF,EAAWE,OAEhC,CAACF,EAAWI,SAAUJ,EAAWI,QACjC,CAACJ,EAAWK,SAAU,CACpBL,EAAWK,QACVI,IAA8B,IAAVA,GAEvB,CAACT,EAAWO,SAAUP,EAAWO,SAEnC,CAACP,EAAWK,SAAU,CAAE,EACxB,CAACL,EAAWE,QAAS,CAAE,EACvB,CAACF,EAAWO,SAAU,CAAE,EACxB,CAACP,EAAWI,SAAU,CAAE,EACxB,CAACJ,EAAWC,UAAW,CAAE,EACzB,CAACD,EAAWG,SAAU,CAAE,IAIWJ,EAAAA,aAGrCN,SClDWiB,EACX,gBAAOC,CAAUC,GACf,MAAMC,EAAYC,OAAAC,OAAA,CAAA,EAAAH,EAAMC,QAExB,OAAOG,oBAAkBL,UAAUE,EAAMI,EAC1C,CAED,kBAAOC,CACLC,GAEA,OAAOH,EAAiBA,kBAACE,YAAYC,EACtC,CAED,aAAOC,CACLR,EACAS,GAEA,MAAMC,EAAYZ,EAAgBQ,YAAYG,GAE9CT,EAAMQ,OAAOE,EACd,EAGH,SAASL,EAAwBM,EAAYC,GAC3C,GAAY,WAARA,EAAJ,CAIA,GAAIA,IAAQzC,EAAY0C,OACtB,OAAIC,EAAgBC,IAAIJ,GACfA,OAGT,EAGF,IAAIK,EAAeD,IAAIH,GAIvB,OAAOD,CAdN,CAeH,CAEA,MAAMG,EAAkB,IAAI1C,IAAI,CAC9BgB,EAAWE,OACXF,EAAWI,QACXJ,EAAWO,UAGPqB,EAAiB,IAAI5C,IAAI,CAAC,YAAa,QAAS,WAAY"}
|
|
@@ -489,6 +489,7 @@ const suiteResultCache = vestUtils.cache();
|
|
|
489
489
|
const preAggCache = vestUtils.cache();
|
|
490
490
|
function useCreateVestState({ suiteName, VestReconciler, }) {
|
|
491
491
|
const stateRef = {
|
|
492
|
+
afterEachCallbacks: vestUtils.tinyState.createTinyState(() => []),
|
|
492
493
|
doneCallbacks: vestUtils.tinyState.createTinyState(() => []),
|
|
493
494
|
fieldCallbacks: vestUtils.tinyState.createTinyState(() => ({})),
|
|
494
495
|
preAggCache,
|
|
@@ -507,6 +508,9 @@ function useDoneCallbacks() {
|
|
|
507
508
|
function useFieldCallbacks() {
|
|
508
509
|
return useX().fieldCallbacks();
|
|
509
510
|
}
|
|
511
|
+
function useAfterEachCallbacks() {
|
|
512
|
+
return useX().afterEachCallbacks();
|
|
513
|
+
}
|
|
510
514
|
function useSuiteName() {
|
|
511
515
|
return useX().suiteName;
|
|
512
516
|
}
|
|
@@ -532,8 +536,10 @@ function useExpireSuiteResultCache() {
|
|
|
532
536
|
function useResetCallbacks() {
|
|
533
537
|
const [, , resetDoneCallbacks] = useDoneCallbacks();
|
|
534
538
|
const [, , resetFieldCallbacks] = useFieldCallbacks();
|
|
539
|
+
const [, , resetAfterEachCallbacks] = useAfterEachCallbacks();
|
|
535
540
|
resetDoneCallbacks();
|
|
536
541
|
resetFieldCallbacks();
|
|
542
|
+
resetAfterEachCallbacks();
|
|
537
543
|
}
|
|
538
544
|
function useResetSuite() {
|
|
539
545
|
useResetCallbacks();
|
|
@@ -1016,7 +1022,7 @@ function addSummaryStats(testObject, summary) {
|
|
|
1016
1022
|
if (VestTest.isPending(testObject)) {
|
|
1017
1023
|
summary.pendingCount++;
|
|
1018
1024
|
}
|
|
1019
|
-
if (
|
|
1025
|
+
if (shouldCountTestRun(testObject)) {
|
|
1020
1026
|
summary.testCount++;
|
|
1021
1027
|
}
|
|
1022
1028
|
return summary;
|
|
@@ -1070,7 +1076,9 @@ function appendTestObject(summaryKey, testObject) {
|
|
|
1070
1076
|
incrementFailures(Severity.WARNINGS);
|
|
1071
1077
|
}
|
|
1072
1078
|
// Increment the test count.
|
|
1073
|
-
|
|
1079
|
+
if (shouldCountTestRun(testObject)) {
|
|
1080
|
+
nextSummaryKey.testCount++;
|
|
1081
|
+
}
|
|
1074
1082
|
return nextSummaryKey;
|
|
1075
1083
|
// Helper function to increment the failure count.
|
|
1076
1084
|
function incrementFailures(severity) {
|
|
@@ -1088,6 +1096,9 @@ function baseTestStats() {
|
|
|
1088
1096
|
warnings: [],
|
|
1089
1097
|
});
|
|
1090
1098
|
}
|
|
1099
|
+
function shouldCountTestRun(testObject) {
|
|
1100
|
+
return VestTest.isTested(testObject) || VestTest.isPending(testObject);
|
|
1101
|
+
}
|
|
1091
1102
|
|
|
1092
1103
|
function useCreateSuiteResult() {
|
|
1093
1104
|
return useSuiteResultCache(() => {
|
|
@@ -1558,7 +1569,7 @@ function useGetTestFromCache(dependencies, cacheAction) {
|
|
|
1558
1569
|
cache.invalidate(dependencies);
|
|
1559
1570
|
return cache(dependencies, cacheAction);
|
|
1560
1571
|
}
|
|
1561
|
-
// FIXME(@ealush 2024-08-12): This is some kind of a hack. Instead organically letting Vest set the next
|
|
1572
|
+
// FIXME:(@ealush 2024-08-12): This is some kind of a hack. Instead organically letting Vest set the next
|
|
1562
1573
|
// child of the isolate, we're forcing it from the outside.
|
|
1563
1574
|
// Instead, an ideal solution would probably be to have test.memo be its own isolate
|
|
1564
1575
|
// that just injects a historic output from a previous test run.
|
|
@@ -1676,6 +1687,13 @@ function useRunDoneCallbacks() {
|
|
|
1676
1687
|
const [doneCallbacks] = useDoneCallbacks();
|
|
1677
1688
|
vestUtils.callEach(doneCallbacks);
|
|
1678
1689
|
}
|
|
1690
|
+
function useRunAfterEachCallbacks(fieldName) {
|
|
1691
|
+
if (SuiteWalker.useHasRemainingWithTestNameMatching(fieldName)) {
|
|
1692
|
+
return;
|
|
1693
|
+
}
|
|
1694
|
+
const [afterEachCallbacks] = useAfterEachCallbacks();
|
|
1695
|
+
vestUtils.callEach(afterEachCallbacks);
|
|
1696
|
+
}
|
|
1679
1697
|
|
|
1680
1698
|
// eslint-disable-next-line max-statements, max-lines-per-function
|
|
1681
1699
|
function useInitVestBus() {
|
|
@@ -1699,6 +1717,7 @@ function useInitVestBus() {
|
|
|
1699
1717
|
if (!VestTest.isCanceled(isolate)) {
|
|
1700
1718
|
const { fieldName } = VestTest.getData(isolate);
|
|
1701
1719
|
useRunFieldCallbacks(fieldName);
|
|
1720
|
+
useRunAfterEachCallbacks(fieldName);
|
|
1702
1721
|
}
|
|
1703
1722
|
}
|
|
1704
1723
|
if (!SuiteWalker.useHasPending()) {
|
|
@@ -1781,10 +1800,20 @@ function shouldSkipDoneRegistration(callback, fieldName, output) {
|
|
|
1781
1800
|
}
|
|
1782
1801
|
|
|
1783
1802
|
function useSuiteRunResult() {
|
|
1803
|
+
const persistedDone = vestjsRuntime.VestRuntime.persist(done);
|
|
1784
1804
|
return vestUtils.freezeAssign({
|
|
1785
|
-
|
|
1805
|
+
afterEach: vestjsRuntime.VestRuntime.persist(afterEach),
|
|
1806
|
+
done: persistedDone,
|
|
1807
|
+
after: persistedDone,
|
|
1786
1808
|
}, useCreateSuiteResult());
|
|
1787
1809
|
}
|
|
1810
|
+
// @vx-allow use-use
|
|
1811
|
+
function afterEach(callback) {
|
|
1812
|
+
const output = useSuiteRunResult();
|
|
1813
|
+
const [, setAfterEachCallbacks] = useAfterEachCallbacks();
|
|
1814
|
+
setAfterEachCallbacks(prev => [...prev, callback]);
|
|
1815
|
+
return output;
|
|
1816
|
+
}
|
|
1788
1817
|
/**
|
|
1789
1818
|
* Registers done callbacks.
|
|
1790
1819
|
* @register {Object} Vest output object.
|