@travetto/test 5.0.0-rc.1 → 5.0.0-rc.11
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/README.md +12 -13
- package/package.json +8 -8
- package/src/assert/capture.ts +5 -4
- package/src/assert/check.ts +24 -33
- package/src/assert/util.ts +32 -18
- package/src/consumer/registry.ts +2 -3
- package/src/consumer/{error.ts → serialize.ts} +13 -22
- package/src/consumer/types/cumulative.ts +15 -22
- package/src/consumer/types/delegating.ts +58 -0
- package/src/consumer/types/event.ts +2 -4
- package/src/consumer/types/execution.ts +2 -4
- package/src/consumer/types/runnable.ts +12 -41
- package/src/consumer/types/tap-streamed.ts +9 -6
- package/src/consumer/types/tap.ts +5 -4
- package/src/consumer/types/xunit.ts +4 -2
- package/src/decorator/suite.ts +5 -7
- package/src/decorator/test.ts +2 -1
- package/src/execute/console.ts +1 -1
- package/src/execute/executor.ts +84 -104
- package/src/execute/phase.ts +20 -30
- package/src/execute/promise.ts +4 -4
- package/src/execute/runner.ts +34 -24
- package/src/execute/types.ts +12 -10
- package/src/execute/util.ts +61 -34
- package/src/execute/watcher.ts +34 -36
- package/src/fixture.ts +7 -2
- package/src/model/common.ts +11 -7
- package/src/model/event.ts +9 -5
- package/src/model/suite.ts +14 -4
- package/src/model/test.ts +30 -4
- package/src/registry/suite.ts +42 -39
- package/src/trv.d.ts +3 -3
- package/src/worker/child.ts +11 -17
- package/src/worker/standard.ts +18 -21
- package/src/worker/types.ts +13 -10
- package/support/cli.test.ts +20 -6
- package/support/cli.test_child.ts +1 -1
- package/support/cli.test_digest.ts +43 -0
- package/support/cli.test_direct.ts +10 -3
- package/support/cli.test_watch.ts +1 -1
- package/support/transformer.assert.ts +12 -12
- package/support/cli.test_count.ts +0 -39
- package/support/transformer.annotate.ts +0 -103
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
TransformerState, DecoratorMeta, OnMethod, OnClass, CoreUtil, DecoratorUtil
|
|
5
|
-
} from '@travetto/transformer';
|
|
6
|
-
|
|
7
|
-
const RUN_UTIL = 'RunnerUtil';
|
|
8
|
-
|
|
9
|
-
const RunUtilⲐ = Symbol.for('@travetto/test:runner');
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Annotate transformation state
|
|
13
|
-
*/
|
|
14
|
-
interface AnnotateState {
|
|
15
|
-
[RunUtilⲐ]?: ts.Expression;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Annotate tests and suites for better diagnostics
|
|
20
|
-
*/
|
|
21
|
-
export class AnnotationTransformer {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Initialize transformer state
|
|
26
|
-
*/
|
|
27
|
-
static initState(state: TransformerState & AnnotateState): void {
|
|
28
|
-
if (!state[RunUtilⲐ]) {
|
|
29
|
-
const runUtil = state.importFile('@travetto/test/src/execute/util').ident;
|
|
30
|
-
state[RunUtilⲐ] = CoreUtil.createAccess(state.factory, runUtil, RUN_UTIL, 'tryDebugger');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Build source annotation, indicating line ranges
|
|
36
|
-
* @param state
|
|
37
|
-
* @param node
|
|
38
|
-
* @param dec
|
|
39
|
-
*/
|
|
40
|
-
static buildAnnotation(state: TransformerState & AnnotateState, node: ts.Node, dec: ts.Decorator, expression: ts.CallExpression): ts.Decorator {
|
|
41
|
-
const ogN = (CoreUtil.hasOriginal(node) ? node.original : node);
|
|
42
|
-
const n = ts.isMethodDeclaration(ogN) ? ogN : undefined;
|
|
43
|
-
|
|
44
|
-
const newDec = state.factory.updateDecorator(
|
|
45
|
-
dec,
|
|
46
|
-
state.factory.createCallExpression(
|
|
47
|
-
expression.expression,
|
|
48
|
-
expression.typeArguments,
|
|
49
|
-
[
|
|
50
|
-
...(expression.arguments ?? []),
|
|
51
|
-
state.fromLiteral({
|
|
52
|
-
ident: `@${DecoratorUtil.getDecoratorIdent(dec).text}()`,
|
|
53
|
-
lineBodyStart: CoreUtil.getRangeOf(state.source, n?.body?.statements[0])?.[0]
|
|
54
|
-
})
|
|
55
|
-
]
|
|
56
|
-
)
|
|
57
|
-
);
|
|
58
|
-
return newDec;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@OnClass('Suite')
|
|
62
|
-
static annotateSuiteDetails(state: TransformerState & AnnotateState, node: ts.ClassDeclaration, dm?: DecoratorMeta): ts.ClassDeclaration {
|
|
63
|
-
const dec = dm?.dec;
|
|
64
|
-
|
|
65
|
-
if (dec && ts.isCallExpression(dec.expression)) {
|
|
66
|
-
const newDec = this.buildAnnotation(state, node, dec, dec.expression);
|
|
67
|
-
return state.factory.updateClassDeclaration(node,
|
|
68
|
-
DecoratorUtil.spliceDecorators(node, dec, [newDec]),
|
|
69
|
-
node.name,
|
|
70
|
-
node.typeParameters,
|
|
71
|
-
node.heritageClauses,
|
|
72
|
-
node.members
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
return node;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
@OnMethod('Test')
|
|
79
|
-
static annotateTestDetails(state: TransformerState & AnnotateState, node: ts.MethodDeclaration, dm?: DecoratorMeta): ts.MethodDeclaration {
|
|
80
|
-
this.initState(state);
|
|
81
|
-
|
|
82
|
-
const dec = dm?.dec;
|
|
83
|
-
|
|
84
|
-
if (dec && ts.isCallExpression(dec.expression)) {
|
|
85
|
-
const newDec = this.buildAnnotation(state, node, dec, dec.expression);
|
|
86
|
-
return state.factory.updateMethodDeclaration(node,
|
|
87
|
-
DecoratorUtil.spliceDecorators(node, dec, [newDec]),
|
|
88
|
-
node.asteriskToken,
|
|
89
|
-
node.name,
|
|
90
|
-
node.questionToken,
|
|
91
|
-
node.typeParameters,
|
|
92
|
-
node.parameters,
|
|
93
|
-
node.type,
|
|
94
|
-
node.body ? state.factory.updateBlock(node.body, [
|
|
95
|
-
state.factory.createIfStatement(state[RunUtilⲐ]!,
|
|
96
|
-
state.factory.createExpressionStatement(state.factory.createIdentifier('debugger'))),
|
|
97
|
-
...node.body.statements
|
|
98
|
-
]) : node.body
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
return node;
|
|
102
|
-
}
|
|
103
|
-
}
|