@overkill-dev/run 0.0.29 → 0.0.31
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/assertion-protocol/assertion-node-shape.d.ts +4 -3
- package/assertion-protocol/assertion-node-shape.d.ts.map +1 -1
- package/assertion-protocol/assertion-node.d.ts +2 -2
- package/assertion-protocol/assertion-node.d.ts.map +1 -1
- package/assertion-protocol/assertion-reference.d.ts +2 -2
- package/assertion-protocol/assertion-reference.d.ts.map +1 -1
- package/assertion-protocol/assertions/collection.d.ts +2 -2
- package/assertion-protocol/assertions/collection.d.ts.map +1 -1
- package/assertion-protocol/assertions/fail.d.ts +2 -2
- package/assertion-protocol/assertions/fail.d.ts.map +1 -1
- package/assertion-protocol/assertions/numeric.d.ts +2 -2
- package/assertion-protocol/assertions/numeric.d.ts.map +1 -1
- package/assertion-protocol/assertions/string.d.ts +2 -2
- package/assertion-protocol/assertions/string.d.ts.map +1 -1
- package/assertion-protocol/assertions/type-shape.d.ts +3 -3
- package/assertion-protocol/assertions/type-shape.d.ts.map +1 -1
- package/assertion-protocol/evaluation.d.ts.map +1 -1
- package/assertion-protocol/evaluation.js +8 -3
- package/assertion-protocol/evaluation.js.map +1 -1
- package/assertion-protocol/source-location-forwarding.js +26 -0
- package/assertion-protocol/source-location-forwarding.js.map +1 -0
- package/assertion-protocol/source-location.js +1 -0
- package/assertion-protocol/source-location.js.map +1 -1
- package/assertion-protocol/thrown-matcher.d.ts +2 -2
- package/assertion-protocol/thrown-matcher.d.ts.map +1 -1
- package/assertion-protocol/thrown-matcher.js +23 -23
- package/assertion-protocol/thrown-matcher.js.map +1 -1
- package/engine/assertion-facade.d.ts.map +1 -1
- package/engine/assertion-facade.js +5 -4
- package/engine/assertion-facade.js.map +1 -1
- package/engine/custom-assertion-recording.d.ts +3 -3
- package/engine/custom-assertion-recording.d.ts.map +1 -1
- package/engine/custom-assertion-recording.js +19 -19
- package/engine/custom-assertion-recording.js.map +1 -1
- package/engine/execution-result.js +8 -3
- package/engine/execution-result.js.map +1 -1
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +9 -2
- package/engine/execution.js.map +1 -1
- package/engine/reporter.d.ts +9 -2
- package/engine/reporter.d.ts.map +1 -1
- package/engine/reporter.js.map +1 -1
- package/engine/require-assertion-facade.d.ts.map +1 -1
- package/engine/require-assertion-facade.js +25 -24
- package/engine/require-assertion-facade.js.map +1 -1
- package/engine/run-result.d.ts +1 -1
- package/engine/run-result.d.ts.map +1 -1
- package/engine/test-node.d.ts +7 -6
- package/engine/test-node.d.ts.map +1 -1
- package/engine/test-node.js +22 -8
- package/engine/test-node.js.map +1 -1
- package/engine/test-plan.d.ts +10 -9
- package/engine/test-plan.d.ts.map +1 -1
- package/engine/test-plan.js +42 -23
- package/engine/test-plan.js.map +1 -1
- package/package.json +2 -1
- package/packages/engine/assertion-protocol.entry-point.d.ts +1 -1
- package/packages/engine/assertion-protocol.entry-point.d.ts.map +1 -1
- package/packages/engine/assertion-protocol.entry-point.js.map +1 -1
- package/readme.md +1 -0
- package/run/collected-run-plan.js +11 -7
- package/run/collected-run-plan.js.map +1 -1
- package/run/run-list-renderer.js +41 -16
- package/run/run-list-renderer.js.map +1 -1
- package/run/run-selection.js +3 -1
- package/run/run-selection.js.map +1 -1
- package/run/run-test-modules.js +0 -1
- package/run/run-test-modules.js.map +1 -1
- package/run/run-types.d.ts +2 -3
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/sbom.cdx.json +4 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sourceLocationsWithCurrentForwarding } from "../assertion-protocol/source-location-forwarding.js";
|
|
1
2
|
import { captureSourceLocation } from "../assertion-protocol/source-location.js";
|
|
2
3
|
import { recordRequireReference } from "./custom-assertion-recording.js";
|
|
3
4
|
function messageFromOptions(options, annotation) {
|
|
@@ -12,36 +13,36 @@ export function createRecordingRequireFacadeWithLocation(sink, annotation, captu
|
|
|
12
13
|
sink.recordRequire({
|
|
13
14
|
actual,
|
|
14
15
|
check: 'array',
|
|
15
|
-
location: captureLocation(),
|
|
16
16
|
message: messageFromOptions(options, annotation),
|
|
17
|
-
source: 'require'
|
|
17
|
+
source: 'require',
|
|
18
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
18
19
|
});
|
|
19
20
|
},
|
|
20
21
|
boolean(actual, options) {
|
|
21
22
|
sink.recordRequire({
|
|
22
23
|
actual,
|
|
23
24
|
check: 'boolean',
|
|
24
|
-
location: captureLocation(),
|
|
25
25
|
message: messageFromOptions(options, annotation),
|
|
26
|
-
source: 'require'
|
|
26
|
+
source: 'require',
|
|
27
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
27
28
|
});
|
|
28
29
|
},
|
|
29
30
|
defined(actual, options) {
|
|
30
31
|
sink.recordRequire({
|
|
31
32
|
actual,
|
|
32
33
|
check: 'defined',
|
|
33
|
-
location: captureLocation(),
|
|
34
34
|
message: messageFromOptions(options, annotation),
|
|
35
|
-
source: 'require'
|
|
35
|
+
source: 'require',
|
|
36
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
36
37
|
});
|
|
37
38
|
},
|
|
38
39
|
function(actual, options) {
|
|
39
40
|
sink.recordRequire({
|
|
40
41
|
actual,
|
|
41
42
|
check: 'function',
|
|
42
|
-
location: captureLocation(),
|
|
43
43
|
message: messageFromOptions(options, annotation),
|
|
44
|
-
source: 'require'
|
|
44
|
+
source: 'require',
|
|
45
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
45
46
|
});
|
|
46
47
|
},
|
|
47
48
|
hasProperty(actual, key, options) {
|
|
@@ -49,9 +50,9 @@ export function createRecordingRequireFacadeWithLocation(sink, annotation, captu
|
|
|
49
50
|
actual,
|
|
50
51
|
check: 'has-property',
|
|
51
52
|
key,
|
|
52
|
-
location: captureLocation(),
|
|
53
53
|
message: messageFromOptions(options, annotation),
|
|
54
|
-
source: 'require'
|
|
54
|
+
source: 'require',
|
|
55
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
55
56
|
});
|
|
56
57
|
},
|
|
57
58
|
instanceOf(actual, expected, options) {
|
|
@@ -59,64 +60,64 @@ export function createRecordingRequireFacadeWithLocation(sink, annotation, captu
|
|
|
59
60
|
actual,
|
|
60
61
|
check: 'instance-of',
|
|
61
62
|
expected,
|
|
62
|
-
location: captureLocation(),
|
|
63
63
|
message: messageFromOptions(options, annotation),
|
|
64
|
-
source: 'require'
|
|
64
|
+
source: 'require',
|
|
65
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
65
66
|
});
|
|
66
67
|
},
|
|
67
68
|
notNull(actual, options) {
|
|
68
69
|
sink.recordRequire({
|
|
69
70
|
actual,
|
|
70
71
|
check: 'not-null',
|
|
71
|
-
location: captureLocation(),
|
|
72
72
|
message: messageFromOptions(options, annotation),
|
|
73
|
-
source: 'require'
|
|
73
|
+
source: 'require',
|
|
74
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
74
75
|
});
|
|
75
76
|
},
|
|
76
77
|
null(actual, options) {
|
|
77
78
|
sink.recordRequire({
|
|
78
79
|
actual,
|
|
79
80
|
check: 'null',
|
|
80
|
-
location: captureLocation(),
|
|
81
81
|
message: messageFromOptions(options, annotation),
|
|
82
|
-
source: 'require'
|
|
82
|
+
source: 'require',
|
|
83
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
83
84
|
});
|
|
84
85
|
},
|
|
85
86
|
number(actual, options) {
|
|
86
87
|
sink.recordRequire({
|
|
87
88
|
actual,
|
|
88
89
|
check: 'number',
|
|
89
|
-
location: captureLocation(),
|
|
90
90
|
message: messageFromOptions(options, annotation),
|
|
91
|
-
source: 'require'
|
|
91
|
+
source: 'require',
|
|
92
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
92
93
|
});
|
|
93
94
|
},
|
|
94
95
|
object(actual, options) {
|
|
95
96
|
sink.recordRequire({
|
|
96
97
|
actual,
|
|
97
98
|
check: 'object',
|
|
98
|
-
location: captureLocation(),
|
|
99
99
|
message: messageFromOptions(options, annotation),
|
|
100
|
-
source: 'require'
|
|
100
|
+
source: 'require',
|
|
101
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
101
102
|
});
|
|
102
103
|
},
|
|
103
104
|
string(actual, options) {
|
|
104
105
|
sink.recordRequire({
|
|
105
106
|
actual,
|
|
106
107
|
check: 'string',
|
|
107
|
-
location: captureLocation(),
|
|
108
108
|
message: messageFromOptions(options, annotation),
|
|
109
|
-
source: 'require'
|
|
109
|
+
source: 'require',
|
|
110
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
113
|
};
|
|
113
114
|
function callRequireReference(reference, ...parameters) {
|
|
114
115
|
recordRequireReference({
|
|
115
116
|
annotation,
|
|
116
|
-
location: captureLocation(),
|
|
117
117
|
parameters,
|
|
118
118
|
reference,
|
|
119
|
-
sink
|
|
119
|
+
sink,
|
|
120
|
+
sourceLocations: sourceLocationsWithCurrentForwarding(captureLocation)
|
|
120
121
|
});
|
|
121
122
|
}
|
|
122
123
|
return Object.assign(callRequireReference, methods);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-assertion-facade.js","sourceRoot":"","sources":["../../../../source/engine/require-assertion-facade.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EACH,sBAAsB,EAEzB,MAAM,iCAAiC,CAAC;AAsCzC,SAAS,kBAAkB,CAAC,OAAqC,EAAE,UAAyB;IACxF,OAAO,OAAO,EAAE,OAAO,IAAI,UAAU,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,wCAAwC,CACpD,IAA0B,EAC1B,UAAyB,EACzB,eAA+C;IAE/C,MAAM,OAAO,GAA4B;QACrC,SAAS,CAAC,OAAO;YACb,OAAO,wCAAwC,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACpF,CAAC;QAED,KAAK,CAAC,MAAM,EAAE,OAAO;YACjB,IAAI,CAAC,aAAa,CAAC;gBACf,MAAM;gBACN,KAAK,EAAE,OAAO;gBACd,
|
|
1
|
+
{"version":3,"file":"require-assertion-facade.js","sourceRoot":"","sources":["../../../../source/engine/require-assertion-facade.ts"],"names":[],"mappings":"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"}
|
package/engine/run-result.d.ts
CHANGED
|
@@ -125,7 +125,7 @@ export type RunResourceUsageTracker = {
|
|
|
125
125
|
readonly start: (onSample?: (snapshot: ResourceUsageSnapshot) => void) => void;
|
|
126
126
|
};
|
|
127
127
|
export type OrphanedNode = {
|
|
128
|
-
readonly
|
|
128
|
+
readonly definitionLocations: NonEmptyReadonlyArray<SourceLocation>;
|
|
129
129
|
readonly file: string | null;
|
|
130
130
|
readonly kind: 'suite' | 'table' | 'test';
|
|
131
131
|
readonly title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"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"}
|
package/engine/test-node.d.ts
CHANGED
|
@@ -17,11 +17,12 @@ export type TestScope = {
|
|
|
17
17
|
readonly signal: AbortSignal;
|
|
18
18
|
};
|
|
19
19
|
export type TestBody = (scope: TestScope) => AssertionResult | Promise<AssertionResult>;
|
|
20
|
+
export type DefinitionLocations = NonEmptyReadonlyArray<SourceLocation>;
|
|
20
21
|
export type TestCase = {
|
|
21
22
|
readonly [testNodeBrand]: true;
|
|
22
23
|
readonly [testNodeOwnerBrand]: TestNodeOwner;
|
|
23
24
|
readonly body: TestBody;
|
|
24
|
-
readonly
|
|
25
|
+
readonly definitionLocations: DefinitionLocations;
|
|
25
26
|
readonly kind: 'test';
|
|
26
27
|
readonly metadata: Metadata;
|
|
27
28
|
readonly title: string;
|
|
@@ -30,7 +31,7 @@ export type Suite = {
|
|
|
30
31
|
readonly [testNodeBrand]: true;
|
|
31
32
|
readonly [testNodeOwnerBrand]: TestNodeOwner;
|
|
32
33
|
readonly children: readonly TestNode[];
|
|
33
|
-
readonly
|
|
34
|
+
readonly definitionLocations: DefinitionLocations;
|
|
34
35
|
readonly kind: 'suite';
|
|
35
36
|
readonly metadata: Metadata;
|
|
36
37
|
readonly title: string;
|
|
@@ -45,7 +46,7 @@ export type Table = {
|
|
|
45
46
|
readonly [testNodeBrand]: true;
|
|
46
47
|
readonly [testNodeOwnerBrand]: TestNodeOwner;
|
|
47
48
|
readonly cases: readonly TableCase[];
|
|
48
|
-
readonly
|
|
49
|
+
readonly definitionLocations: DefinitionLocations;
|
|
49
50
|
readonly kind: 'table';
|
|
50
51
|
readonly metadata: Metadata;
|
|
51
52
|
readonly title: string;
|
|
@@ -74,7 +75,7 @@ export type TestNodeFactoryOptions = {
|
|
|
74
75
|
};
|
|
75
76
|
export type TestCaseOptions = {
|
|
76
77
|
readonly body: TestBody;
|
|
77
|
-
readonly
|
|
78
|
+
readonly definitionLocations: DefinitionLocations;
|
|
78
79
|
readonly metadata: Metadata;
|
|
79
80
|
readonly title: string;
|
|
80
81
|
};
|
|
@@ -85,7 +86,7 @@ export type RootOptions = {
|
|
|
85
86
|
};
|
|
86
87
|
export type SuiteOptions = {
|
|
87
88
|
readonly children: readonly unknown[];
|
|
88
|
-
readonly
|
|
89
|
+
readonly definitionLocations: DefinitionLocations;
|
|
89
90
|
readonly metadata: Metadata;
|
|
90
91
|
readonly title: string;
|
|
91
92
|
};
|
|
@@ -97,7 +98,7 @@ export type TableCaseOptions = {
|
|
|
97
98
|
};
|
|
98
99
|
export type TableOptions = {
|
|
99
100
|
readonly cases: readonly TableCaseOptions[];
|
|
100
|
-
readonly
|
|
101
|
+
readonly definitionLocations: DefinitionLocations;
|
|
101
102
|
readonly metadata: Metadata;
|
|
102
103
|
readonly title: string;
|
|
103
104
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-node.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,mBAAmB,EACnB,eAAe,EAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"test-node.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"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"}
|
package/engine/test-node.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { unknownSourceLocation } from "../assertion-protocol/source-location.js";
|
|
2
1
|
import { ensureMetadata } from "./metadata.js";
|
|
3
2
|
const testNodeBrand = Symbol.for('@overkill-dev/engine/TestNode');
|
|
4
3
|
const testRootBrand = Symbol.for('@overkill-dev/engine/TestRoot');
|
|
@@ -36,6 +35,11 @@ function ensureTestBody(body) {
|
|
|
36
35
|
throw new TypeError('Test case body must be a function.');
|
|
37
36
|
}
|
|
38
37
|
}
|
|
38
|
+
function ensureDefinitionLocations(definitionLocations) {
|
|
39
|
+
if (definitionLocations.length === 0) {
|
|
40
|
+
throw new TypeError('Test node definition locations must contain at least one location.');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
39
43
|
export function isTestNode(value) {
|
|
40
44
|
return typeof value === 'object' && value !== null && Object.hasOwn(value, testNodeBrand);
|
|
41
45
|
}
|
|
@@ -74,14 +78,16 @@ function toTestNode(value, owner, plainObjectMessage, foreignNodeMessage) {
|
|
|
74
78
|
export function createTestNodeFactory(factoryOptions) {
|
|
75
79
|
const { owner, recordConstructedNode } = factoryOptions;
|
|
76
80
|
function createTestCase(options) {
|
|
81
|
+
ensureTitleValue(options.title);
|
|
77
82
|
ensureTitle(options.title);
|
|
78
83
|
ensureMetadata(options.metadata);
|
|
79
84
|
ensureTestBody(options.body);
|
|
85
|
+
ensureDefinitionLocations(options.definitionLocations);
|
|
80
86
|
const testCase = {
|
|
81
87
|
[testNodeBrand]: true,
|
|
82
88
|
[testNodeOwnerBrand]: owner,
|
|
83
89
|
body: options.body,
|
|
84
|
-
|
|
90
|
+
definitionLocations: options.definitionLocations,
|
|
85
91
|
kind: 'test',
|
|
86
92
|
metadata: options.metadata,
|
|
87
93
|
title: options.title
|
|
@@ -90,6 +96,7 @@ export function createTestNodeFactory(factoryOptions) {
|
|
|
90
96
|
return testCase;
|
|
91
97
|
}
|
|
92
98
|
function createRoot(options) {
|
|
99
|
+
ensureTitleValue(options.title);
|
|
93
100
|
ensureTitle(options.title);
|
|
94
101
|
ensureMetadata(options.metadata);
|
|
95
102
|
const children = options.children.map(function validateChild(child) {
|
|
@@ -105,8 +112,10 @@ export function createTestNodeFactory(factoryOptions) {
|
|
|
105
112
|
};
|
|
106
113
|
}
|
|
107
114
|
function createSuite(options) {
|
|
115
|
+
ensureTitleValue(options.title);
|
|
108
116
|
ensureTitle(options.title);
|
|
109
117
|
ensureMetadata(options.metadata);
|
|
118
|
+
ensureDefinitionLocations(options.definitionLocations);
|
|
110
119
|
const children = options.children.map(function validateChild(child) {
|
|
111
120
|
return toTestNode(child, owner, 'Suite children must be engine-created TestNode values.', 'Suite children must be created by the same engine instance.');
|
|
112
121
|
});
|
|
@@ -114,7 +123,7 @@ export function createTestNodeFactory(factoryOptions) {
|
|
|
114
123
|
[testNodeBrand]: true,
|
|
115
124
|
[testNodeOwnerBrand]: owner,
|
|
116
125
|
children,
|
|
117
|
-
|
|
126
|
+
definitionLocations: options.definitionLocations,
|
|
118
127
|
kind: 'suite',
|
|
119
128
|
metadata: options.metadata,
|
|
120
129
|
title: options.title
|
|
@@ -122,20 +131,25 @@ export function createTestNodeFactory(factoryOptions) {
|
|
|
122
131
|
recordConstructedNode(suite);
|
|
123
132
|
return suite;
|
|
124
133
|
}
|
|
125
|
-
function
|
|
126
|
-
|
|
127
|
-
ensureMetadata(options.metadata);
|
|
128
|
-
for (const tableCase of options.cases) {
|
|
134
|
+
function ensureTableCases(cases) {
|
|
135
|
+
for (const tableCase of cases) {
|
|
129
136
|
ensureTitleValue(tableCase.title);
|
|
130
137
|
ensureTitle(tableCase.title);
|
|
131
138
|
ensureMetadata(tableCase.metadata);
|
|
132
139
|
ensureTestBody(tableCase.body);
|
|
133
140
|
}
|
|
141
|
+
}
|
|
142
|
+
function createTable(options) {
|
|
143
|
+
ensureTitleValue(options.title);
|
|
144
|
+
ensureTitle(options.title);
|
|
145
|
+
ensureMetadata(options.metadata);
|
|
146
|
+
ensureDefinitionLocations(options.definitionLocations);
|
|
147
|
+
ensureTableCases(options.cases);
|
|
134
148
|
const table = {
|
|
135
149
|
[testNodeBrand]: true,
|
|
136
150
|
[testNodeOwnerBrand]: owner,
|
|
137
151
|
cases: options.cases,
|
|
138
|
-
|
|
152
|
+
definitionLocations: options.definitionLocations,
|
|
139
153
|
kind: 'table',
|
|
140
154
|
metadata: options.metadata,
|
|
141
155
|
title: options.title
|
package/engine/test-node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-node.js","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-node.js","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"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"}
|
package/engine/test-plan.d.ts
CHANGED
|
@@ -4,13 +4,16 @@ import { type Metadata, type ResolvedMetadata } from './metadata.ts';
|
|
|
4
4
|
import type { OrphanedNode } from './run-result.ts';
|
|
5
5
|
import { type RootOptions, type TestBody, type TestNode, type TestNodeOwner, type TestRoot } from './test-node.ts';
|
|
6
6
|
export type TestPlanCaseBody = TestBody;
|
|
7
|
+
export type TestPlanSuitePathEntry = {
|
|
8
|
+
readonly definitionLocations: NonEmptyReadonlyArray<SourceLocation>;
|
|
9
|
+
readonly title: string;
|
|
10
|
+
};
|
|
7
11
|
export type TestPlanCase = {
|
|
8
12
|
readonly body: TestPlanCaseBody;
|
|
9
|
-
readonly
|
|
13
|
+
readonly definitionLocations: NonEmptyReadonlyArray<SourceLocation>;
|
|
10
14
|
readonly id: CaseId;
|
|
11
15
|
readonly metadata: ResolvedMetadata;
|
|
12
|
-
readonly
|
|
13
|
-
readonly suitePath: readonly string[];
|
|
16
|
+
readonly suitePath: readonly TestPlanSuitePathEntry[];
|
|
14
17
|
};
|
|
15
18
|
export type TestPlan = {
|
|
16
19
|
readonly defined: number;
|
|
@@ -24,17 +27,15 @@ type TestPlanRoot = {
|
|
|
24
27
|
readonly title: string;
|
|
25
28
|
};
|
|
26
29
|
export type TestPlanFactory = (root: TestRoot) => TestPlan;
|
|
27
|
-
export type TestPlanFile = {
|
|
28
|
-
readonly file: string;
|
|
29
|
-
readonly metadata: Metadata;
|
|
30
|
-
readonly testNode: TestNode;
|
|
31
|
-
};
|
|
32
30
|
type TestPlanRootOptions = {
|
|
33
31
|
readonly metadata: Metadata;
|
|
34
32
|
readonly title: string;
|
|
35
33
|
};
|
|
36
34
|
export type TestPlanFromTestFilesOptions = {
|
|
37
|
-
readonly files: NonEmptyReadonlyArray<
|
|
35
|
+
readonly files: NonEmptyReadonlyArray<{
|
|
36
|
+
readonly file: string;
|
|
37
|
+
readonly testNode: TestNode;
|
|
38
|
+
}>;
|
|
38
39
|
readonly root: TestPlanRootOptions;
|
|
39
40
|
};
|
|
40
41
|
export type TestPlanFromTestFilesFactory = (options: TestPlanFromTestFilesOptions) => TestPlan;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-plan.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE3G,OAAO,EAA+C,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,
|
|
1
|
+
{"version":3,"file":"test-plan.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE3G,OAAO,EAA+C,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAGH,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAGH,KAAK,WAAW,EAIhB,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAE3D,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC/B,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,4BAA4B,KAAK,QAAQ,CAAC;AAuP/F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,CA0BpH;AAgCD,wBAAgB,kCAAkC,CAC9C,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,QAAQ,GAC/C,4BAA4B,CA6B9B"}
|
package/engine/test-plan.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { serializeValue } from "../compare/serialized-value.js";
|
|
2
2
|
import { caseIdentityKey, createCaseId, formatCaseId } from "./identity.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveMetadata, resolveRootMetadata } from "./metadata.js";
|
|
4
4
|
import { ensureOwnedTestRoot, isOwnedTestNode } from "./test-node.js";
|
|
5
5
|
const minimumTableCaseCount = 2;
|
|
6
6
|
function parameterIdentity(parameters) {
|
|
7
7
|
return JSON.stringify(serializeValue(parameters));
|
|
8
8
|
}
|
|
9
|
+
function suiteTitles(suitePath) {
|
|
10
|
+
return suitePath.map(function toTitle(entry) {
|
|
11
|
+
return entry.title;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
9
14
|
function duplicateTitleMessage(title, path) {
|
|
10
15
|
const location = path.length === 0 ? '<root>' : path.join(' > ');
|
|
11
16
|
return `Duplicate test node title under ${location}: ${title}.`;
|
|
@@ -19,16 +24,18 @@ function assertUniqueSiblingTitles(nodes, path) {
|
|
|
19
24
|
seenTitles.add(node.title);
|
|
20
25
|
}
|
|
21
26
|
}
|
|
27
|
+
function isRecord(value) {
|
|
28
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
29
|
+
}
|
|
22
30
|
function collectTestCase(testCase, context) {
|
|
23
31
|
const resolvedMetadata = resolveMetadata(context.metadata, testCase.metadata);
|
|
24
32
|
return {
|
|
25
33
|
cases: [
|
|
26
34
|
{
|
|
27
35
|
body: testCase.body,
|
|
28
|
-
|
|
29
|
-
id: createCaseId(context.file, context.suitePath, testCase.title, null),
|
|
36
|
+
definitionLocations: testCase.definitionLocations,
|
|
37
|
+
id: createCaseId(context.file, suiteTitles(context.suitePath), testCase.title, null),
|
|
30
38
|
metadata: resolvedMetadata,
|
|
31
|
-
suiteDefinitionLocations: context.suiteDefinitionLocations,
|
|
32
39
|
suitePath: context.suitePath
|
|
33
40
|
}
|
|
34
41
|
],
|
|
@@ -37,21 +44,22 @@ function collectTestCase(testCase, context) {
|
|
|
37
44
|
}
|
|
38
45
|
function collectTable(table, context) {
|
|
39
46
|
if (table.cases.length < minimumTableCaseCount) {
|
|
40
|
-
throw new TypeError(`Table must contain at least two cases: ${[...context.suitePath, table.title].join(' > ')}.`);
|
|
47
|
+
throw new TypeError(`Table must contain at least two cases: ${[...suiteTitles(context.suitePath), table.title].join(' > ')}.`);
|
|
41
48
|
}
|
|
42
|
-
assertUniqueSiblingTitles(table.cases, [...context.suitePath, table.title]);
|
|
43
|
-
const tablePath = [
|
|
44
|
-
|
|
49
|
+
assertUniqueSiblingTitles(table.cases, [...suiteTitles(context.suitePath), table.title]);
|
|
50
|
+
const tablePath = [
|
|
51
|
+
...context.suitePath,
|
|
52
|
+
{ definitionLocations: table.definitionLocations, title: table.title }
|
|
53
|
+
];
|
|
45
54
|
const tableMetadata = resolveMetadata(context.metadata, table.metadata);
|
|
46
55
|
return {
|
|
47
56
|
cases: table.cases.map(function collectTableCase(tableCase) {
|
|
48
57
|
const resolvedMetadata = resolveMetadata(tableMetadata, tableCase.metadata);
|
|
49
58
|
return {
|
|
50
59
|
body: tableCase.body,
|
|
51
|
-
|
|
52
|
-
id: createCaseId(context.file, tablePath, tableCase.title, parameterIdentity(tableCase.parameters)),
|
|
60
|
+
definitionLocations: table.definitionLocations,
|
|
61
|
+
id: createCaseId(context.file, suiteTitles(tablePath), tableCase.title, parameterIdentity(tableCase.parameters)),
|
|
53
62
|
metadata: resolvedMetadata,
|
|
54
|
-
suiteDefinitionLocations: tablePathLocations,
|
|
55
63
|
suitePath: tablePath
|
|
56
64
|
};
|
|
57
65
|
}),
|
|
@@ -62,8 +70,10 @@ function childCollectionContext(suite, context) {
|
|
|
62
70
|
return {
|
|
63
71
|
file: context.file,
|
|
64
72
|
metadata: resolveMetadata(context.metadata, suite.metadata),
|
|
65
|
-
|
|
66
|
-
|
|
73
|
+
suitePath: [
|
|
74
|
+
...context.suitePath,
|
|
75
|
+
{ definitionLocations: suite.definitionLocations, title: suite.title }
|
|
76
|
+
]
|
|
67
77
|
};
|
|
68
78
|
}
|
|
69
79
|
function mergeCollectedTestCases(collections) {
|
|
@@ -84,9 +94,9 @@ function collectNode(node, context) {
|
|
|
84
94
|
return collectTable(node, context);
|
|
85
95
|
}
|
|
86
96
|
if (node.children.length === 0) {
|
|
87
|
-
throw new TypeError(`Suite must contain at least one child: ${[...context.suitePath, node.title].join(' > ')}.`);
|
|
97
|
+
throw new TypeError(`Suite must contain at least one child: ${[...suiteTitles(context.suitePath), node.title].join(' > ')}.`);
|
|
88
98
|
}
|
|
89
|
-
assertUniqueSiblingTitles(node.children, [...context.suitePath, node.title]);
|
|
99
|
+
assertUniqueSiblingTitles(node.children, [...suiteTitles(context.suitePath), node.title]);
|
|
90
100
|
const childContext = childCollectionContext(node, context);
|
|
91
101
|
const children = mergeCollectedTestCases(node.children.map(function collectChild(child) {
|
|
92
102
|
return collectNode(child, childContext);
|
|
@@ -105,7 +115,6 @@ function collectRoot(root, rootMetadata) {
|
|
|
105
115
|
return collectNode(child, {
|
|
106
116
|
file: null,
|
|
107
117
|
metadata: rootMetadata,
|
|
108
|
-
suiteDefinitionLocations: [],
|
|
109
118
|
suitePath: []
|
|
110
119
|
});
|
|
111
120
|
}));
|
|
@@ -118,8 +127,7 @@ function collectTestFiles(root, files, rootMetadata) {
|
|
|
118
127
|
}
|
|
119
128
|
return collectNode(child, {
|
|
120
129
|
file: file.file,
|
|
121
|
-
metadata:
|
|
122
|
-
suiteDefinitionLocations: [],
|
|
130
|
+
metadata: rootMetadata,
|
|
123
131
|
suitePath: []
|
|
124
132
|
});
|
|
125
133
|
}));
|
|
@@ -129,7 +137,7 @@ function toReachedNodeSet(reachedNodes) {
|
|
|
129
137
|
}
|
|
130
138
|
function createOrphanedNode(node) {
|
|
131
139
|
return {
|
|
132
|
-
|
|
140
|
+
definitionLocations: node.definitionLocations,
|
|
133
141
|
file: null,
|
|
134
142
|
kind: node.kind,
|
|
135
143
|
title: node.title
|
|
@@ -179,11 +187,22 @@ export function createTestPlanFactory(owner, constructedNodes) {
|
|
|
179
187
|
};
|
|
180
188
|
};
|
|
181
189
|
}
|
|
182
|
-
function
|
|
183
|
-
|
|
190
|
+
function assertKnownFileBackedNodeFields(file) {
|
|
191
|
+
const unknownField = Object.keys(file).find(function unknownFileBackedNodeField(field) {
|
|
192
|
+
return field !== 'file' && field !== 'testNode';
|
|
193
|
+
});
|
|
194
|
+
if (unknownField !== undefined) {
|
|
195
|
+
throw new TypeError(`Unknown test file field: ${unknownField}.`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
function ensureFileBackedNodeInput(file, owner) {
|
|
199
|
+
if (!isRecord(file)) {
|
|
200
|
+
throw new TypeError('Test file input must be an object.');
|
|
201
|
+
}
|
|
202
|
+
assertKnownFileBackedNodeFields(file);
|
|
203
|
+
if (typeof file.file !== 'string' || file.file.trim().length === 0) {
|
|
184
204
|
throw new TypeError('Test file identity must not be empty.');
|
|
185
205
|
}
|
|
186
|
-
ensureMetadata(file.metadata);
|
|
187
206
|
if (!isOwnedTestNode(file.testNode, owner)) {
|
|
188
207
|
throw new TypeError('Test file must provide a TestNode created by the selected engine.');
|
|
189
208
|
}
|
|
@@ -194,7 +213,7 @@ function countReachedNodes(reachedNodes) {
|
|
|
194
213
|
export function createTestPlanFromTestFilesFactory(owner, createRoot) {
|
|
195
214
|
return function createTestPlanFromTestFiles(options) {
|
|
196
215
|
for (const file of options.files) {
|
|
197
|
-
|
|
216
|
+
ensureFileBackedNodeInput(file, owner);
|
|
198
217
|
}
|
|
199
218
|
const root = createRoot({
|
|
200
219
|
children: options.files.map(function toTestNode(file) {
|