repterm 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/describe.d.ts +2 -2
- package/dist/api/expect.d.ts +1 -1
- package/dist/api/expect.d.ts.map +1 -1
- package/dist/api/hooks.d.ts +16 -17
- package/dist/api/hooks.d.ts.map +1 -1
- package/dist/api/hooks.js +9 -9
- package/dist/api/hooks.js.map +1 -1
- package/dist/api/steps.d.ts +10 -10
- package/dist/api/steps.d.ts.map +1 -1
- package/dist/api/steps.js +12 -12
- package/dist/api/steps.js.map +1 -1
- package/dist/api/test.d.ts +10 -12
- package/dist/api/test.d.ts.map +1 -1
- package/dist/api/test.js +29 -30
- package/dist/api/test.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/plugin/index.d.ts +2 -2
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +2 -2
- package/dist/plugin/index.js.map +1 -1
- package/dist/runner/config.js +1 -1
- package/dist/runner/config.js.map +1 -1
- package/dist/runner/filter.d.ts +9 -9
- package/dist/runner/filter.js +18 -18
- package/dist/runner/filter.js.map +1 -1
- package/dist/runner/loader.d.ts.map +1 -1
- package/dist/runner/loader.js +11 -13
- package/dist/runner/loader.js.map +1 -1
- package/dist/runner/models.d.ts +58 -58
- package/dist/runner/models.d.ts.map +1 -1
- package/dist/runner/runner.js +9 -9
- package/dist/runner/runner.js.map +1 -1
- package/dist/terminal/terminal.d.ts +21 -40
- package/dist/terminal/terminal.d.ts.map +1 -1
- package/dist/terminal/terminal.js +133 -181
- package/dist/terminal/terminal.js.map +1 -1
- package/package.json +41 -41
package/dist/plugin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,IAAI,mBAAmB,GAKpC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runner/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runner/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH,MAAM,cAAc,GAAc;IAChC,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,EAAE,aAAa;QAC/B,MAAM,EAAE,MAAM,EAAE,YAAY;KAC7B;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;KACf;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,CAAC;KACX;IACD,QAAQ,EAAE;QACR,eAAe,EAAE,SAAS,EAAG,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runner/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH,MAAM,cAAc,GAAc;IAChC,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,EAAE,aAAa;QAC/B,MAAM,EAAE,MAAM,EAAE,YAAY;KAC7B;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;KACf;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,CAAC;KACX;IACD,QAAQ,EAAE;QACR,eAAe,EAAE,SAAS,EAAG,cAAc;KAC5C;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,UAAyB,EAAE;IACpD,MAAM,MAAM,GAAc;QACxB,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO;YACrE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM;SACnE;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO;YACjE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ;SACnC;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO;SACtE;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe;SACnD;KACF,CAAC;IAEF,yBAAyB;IACzB,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,MAAiB;IACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/runner/filter.d.ts
CHANGED
|
@@ -4,23 +4,23 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { TestCase, TestSuite } from './models.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Determine whether test should run in current mode
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* - recordMode = false
|
|
11
|
-
* - recordMode = true
|
|
9
|
+
* Execution strategy:
|
|
10
|
+
* - recordMode = false (normal mode): run all tests (including record: true tests)
|
|
11
|
+
* - recordMode = true (recording mode): run only tests marked with record: true
|
|
12
12
|
*
|
|
13
|
-
* @param testCase
|
|
14
|
-
* @param suite
|
|
15
|
-
* @param recordMode
|
|
13
|
+
* @param testCase Test case
|
|
14
|
+
* @param suite Test suite
|
|
15
|
+
* @param recordMode Whether in recording mode (--record)
|
|
16
16
|
*/
|
|
17
17
|
export declare function shouldRunTest(testCase: TestCase, suite: TestSuite, recordMode: boolean): boolean;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Filter test suites, removing tests that should not run
|
|
20
20
|
*/
|
|
21
21
|
export declare function filterSuites(suites: TestSuite[], recordMode: boolean): TestSuite[];
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Count tests (including nested suites)
|
|
24
24
|
*/
|
|
25
25
|
export declare function countTests(suites: TestSuite[]): number;
|
|
26
26
|
//# sourceMappingURL=filter.d.ts.map
|
package/dist/runner/filter.js
CHANGED
|
@@ -3,43 +3,43 @@
|
|
|
3
3
|
* Filters tests based on --record flag and record configuration
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Determine whether test should run in current mode
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* - recordMode = false
|
|
10
|
-
* - recordMode = true
|
|
8
|
+
* Execution strategy:
|
|
9
|
+
* - recordMode = false (normal mode): run all tests (including record: true tests)
|
|
10
|
+
* - recordMode = true (recording mode): run only tests marked with record: true
|
|
11
11
|
*
|
|
12
|
-
* @param testCase
|
|
13
|
-
* @param suite
|
|
14
|
-
* @param recordMode
|
|
12
|
+
* @param testCase Test case
|
|
13
|
+
* @param suite Test suite
|
|
14
|
+
* @param recordMode Whether in recording mode (--record)
|
|
15
15
|
*/
|
|
16
16
|
export function shouldRunTest(testCase, suite, recordMode) {
|
|
17
|
-
//
|
|
17
|
+
// Determine test record configuration: test > suite > undefined
|
|
18
18
|
const testRecordConfig = testCase.options?.record ?? getInheritedRecordConfig(suite);
|
|
19
|
-
//
|
|
19
|
+
// In normal mode run all tests
|
|
20
20
|
if (!recordMode) {
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
|
-
//
|
|
23
|
+
// In recording mode run only tests marked with record: true
|
|
24
24
|
return testRecordConfig === true;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
27
|
+
* Get inherited record configuration from suite
|
|
28
|
+
* Recursively searches parent suites for configuration
|
|
29
29
|
*/
|
|
30
30
|
function getInheritedRecordConfig(suite) {
|
|
31
|
-
//
|
|
31
|
+
// Check current suite configuration first
|
|
32
32
|
if (suite.options?.record !== undefined) {
|
|
33
33
|
return suite.options.record;
|
|
34
34
|
}
|
|
35
|
-
//
|
|
35
|
+
// Search parent suite
|
|
36
36
|
if (suite.parent) {
|
|
37
37
|
return getInheritedRecordConfig(suite.parent);
|
|
38
38
|
}
|
|
39
39
|
return undefined;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Filter test suites, removing tests that should not run
|
|
43
43
|
*/
|
|
44
44
|
export function filterSuites(suites, recordMode) {
|
|
45
45
|
return suites
|
|
@@ -47,7 +47,7 @@ export function filterSuites(suites, recordMode) {
|
|
|
47
47
|
.filter(suite => hasTests(suite));
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Filter individual test suite
|
|
51
51
|
*/
|
|
52
52
|
function filterSuite(suite, recordMode) {
|
|
53
53
|
const filteredTests = suite.tests.filter(test => shouldRunTest(test, suite, recordMode));
|
|
@@ -61,7 +61,7 @@ function filterSuite(suite, recordMode) {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
*
|
|
64
|
+
* Check if suite has tests (including nested suites)
|
|
65
65
|
*/
|
|
66
66
|
function hasTests(suite) {
|
|
67
67
|
if (suite.tests.length > 0) {
|
|
@@ -73,7 +73,7 @@ function hasTests(suite) {
|
|
|
73
73
|
return false;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
*
|
|
76
|
+
* Count tests (including nested suites)
|
|
77
77
|
*/
|
|
78
78
|
export function countTests(suites) {
|
|
79
79
|
let count = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/runner/filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAkB,EAClB,KAAgB,EAChB,UAAmB;IAEnB,
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/runner/filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAkB,EAClB,KAAgB,EAChB,UAAmB;IAEnB,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAErF,+BAA+B;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4DAA4D;IAC5D,OAAO,gBAAgB,KAAK,IAAI,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,KAAgB;IAChD,0CAA0C;IAC1C,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAmB,EACnB,UAAmB;IAEnB,OAAO,MAAM;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SAC5C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,KAAgB,EAAE,UAAmB;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACzF,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM;QACpC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,OAAO;QACL,GAAG,KAAK;QACR,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,iBAAiB;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAgB;IAChC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmB;IAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/runner/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgBD;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAoCD;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/runner/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgBD;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAoCD;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BlE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AA6DD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,SAAS,GAAG,IAAW,EACpC,OAAO,GAAE,MAAwB,GAChC,OAAO,CAAC,SAAS,CAAC,CA+CpB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,SAAS,EAAE,CAAC,CA+BtB"}
|
package/dist/runner/loader.js
CHANGED
|
@@ -83,31 +83,29 @@ export async function loadTestFile(filePath) {
|
|
|
83
83
|
// the module runs again to register tests.
|
|
84
84
|
const baseUrl = pathToFileURL(filePath).href;
|
|
85
85
|
const fileUrl = `${baseUrl}?run=${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
86
|
-
|
|
87
|
-
const { registry } = await import('../api/test.js');
|
|
86
|
+
const { registry, GLOBAL_REGISTRY_KEY } = await import('../api/test.js');
|
|
88
87
|
const g = globalThis;
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
g[REGISTRY_KEY] = registry;
|
|
88
|
+
const prevGlobal = g[GLOBAL_REGISTRY_KEY];
|
|
89
|
+
g[GLOBAL_REGISTRY_KEY] = registry;
|
|
92
90
|
const fileSuite = registry.setCurrentFile(resolve(filePath));
|
|
93
91
|
registry.__pendingFileSuite = fileSuite;
|
|
94
92
|
try {
|
|
95
93
|
await import(fileUrl);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
if (typeof registry.takeTestsFromDefaultSuite === 'function') {
|
|
95
|
+
const orphanTests = registry.takeTestsFromDefaultSuite();
|
|
96
|
+
if (orphanTests.length > 0) {
|
|
97
|
+
fileSuite.tests.push(...orphanTests);
|
|
98
|
+
}
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
101
|
catch (error) {
|
|
104
102
|
throw new Error(`Failed to load test file ${filePath}: ${error.message}`);
|
|
105
103
|
}
|
|
106
104
|
finally {
|
|
107
|
-
if (
|
|
108
|
-
g[
|
|
105
|
+
if (prevGlobal !== undefined)
|
|
106
|
+
g[GLOBAL_REGISTRY_KEY] = prevGlobal;
|
|
109
107
|
else
|
|
110
|
-
delete g[
|
|
108
|
+
delete g[GLOBAL_REGISTRY_KEY];
|
|
111
109
|
delete registry.__pendingFileSuite;
|
|
112
110
|
}
|
|
113
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/runner/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/runner/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/runner/models.d.ts
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
* Core entities for the test framework
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* test()
|
|
5
|
+
* Configuration options for test() function
|
|
6
6
|
*/
|
|
7
7
|
export interface TestOptions {
|
|
8
|
-
/**
|
|
8
|
+
/** Mark as recording test, runs only in --record mode */
|
|
9
9
|
record?: boolean;
|
|
10
|
-
/**
|
|
10
|
+
/** Test timeout duration (milliseconds) */
|
|
11
11
|
timeout?: number;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* describe()
|
|
14
|
+
* Configuration options for describe() function
|
|
15
15
|
*/
|
|
16
16
|
export interface DescribeOptions {
|
|
17
|
-
/**
|
|
17
|
+
/** Mark as recording test suite, all internal tests inherit this configuration by default */
|
|
18
18
|
record?: boolean;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
@@ -63,143 +63,143 @@ export interface TestContext {
|
|
|
63
63
|
[key: string]: unknown;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* Command execution result
|
|
67
67
|
*/
|
|
68
68
|
export interface CommandResult {
|
|
69
|
-
/**
|
|
69
|
+
/** Exit code (0 = success) */
|
|
70
70
|
code: number;
|
|
71
|
-
/**
|
|
71
|
+
/** Standard output */
|
|
72
72
|
stdout: string;
|
|
73
|
-
/**
|
|
73
|
+
/** Standard error */
|
|
74
74
|
stderr: string;
|
|
75
|
-
/**
|
|
75
|
+
/** Combined output (stdout + stderr) */
|
|
76
76
|
output: string;
|
|
77
|
-
/**
|
|
77
|
+
/** Command execution duration (milliseconds) */
|
|
78
78
|
duration: number;
|
|
79
|
-
/**
|
|
79
|
+
/** Original command string */
|
|
80
80
|
command: string;
|
|
81
|
-
/**
|
|
81
|
+
/** Whether successful (code === 0) */
|
|
82
82
|
readonly successful: boolean;
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
|
-
* PTY
|
|
86
|
-
*
|
|
85
|
+
* PTY process controller
|
|
86
|
+
* Implements PromiseLike, can be used both as Promise (await automatically calls wait()) and as controller
|
|
87
87
|
*/
|
|
88
88
|
export interface PTYProcess extends PromiseLike<CommandResult> {
|
|
89
|
-
/**
|
|
89
|
+
/** Wait for specified text to appear */
|
|
90
90
|
expect(text: string, options?: {
|
|
91
91
|
timeout?: number;
|
|
92
92
|
}): Promise<void>;
|
|
93
|
-
/**
|
|
93
|
+
/** Send input to process (automatically appends newline) */
|
|
94
94
|
send(input: string): Promise<void>;
|
|
95
|
-
/**
|
|
95
|
+
/** Send raw input (no newline appended) */
|
|
96
96
|
sendRaw(input: string): Promise<void>;
|
|
97
|
-
/**
|
|
97
|
+
/** Wait for command to complete and return result */
|
|
98
98
|
wait(options?: {
|
|
99
99
|
timeout?: number;
|
|
100
100
|
}): Promise<CommandResult>;
|
|
101
|
-
/**
|
|
101
|
+
/** Start command execution, wait for input completion (don't wait for command to finish) */
|
|
102
102
|
start(): Promise<void>;
|
|
103
|
-
/**
|
|
103
|
+
/** Send Ctrl+C */
|
|
104
104
|
interrupt(): Promise<void>;
|
|
105
|
-
/** Promise catch
|
|
105
|
+
/** Promise catch method */
|
|
106
106
|
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null): Promise<CommandResult | TResult>;
|
|
107
|
-
/** Promise finally
|
|
107
|
+
/** Promise finally method */
|
|
108
108
|
finally(onfinally?: (() => void) | null): Promise<CommandResult>;
|
|
109
109
|
}
|
|
110
110
|
/**
|
|
111
|
-
* run()
|
|
111
|
+
* run() method options
|
|
112
112
|
*/
|
|
113
113
|
export interface RunOptions {
|
|
114
|
-
/**
|
|
114
|
+
/** Command timeout duration (milliseconds), default: 30000 */
|
|
115
115
|
timeout?: number;
|
|
116
|
-
/**
|
|
116
|
+
/** Environment variables (optional) */
|
|
117
117
|
env?: Record<string, string>;
|
|
118
|
-
/**
|
|
118
|
+
/** Working directory (optional) */
|
|
119
119
|
cwd?: string;
|
|
120
120
|
/**
|
|
121
|
-
*
|
|
122
|
-
*
|
|
121
|
+
* Mark as interactive command, execute using PTY
|
|
122
|
+
* Interactive mode supports expect/send methods, but exitCode may be unreliable
|
|
123
123
|
*/
|
|
124
124
|
interactive?: boolean;
|
|
125
125
|
/**
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
126
|
+
* Silent mode: use Bun.spawn even in recording mode
|
|
127
|
+
* For scenarios requiring precise output parsing (e.g., JSON parsing)
|
|
128
|
+
* Note: Commands won't be displayed in recording in this mode
|
|
129
129
|
*/
|
|
130
130
|
silent?: boolean;
|
|
131
131
|
/**
|
|
132
|
-
*
|
|
133
|
-
*
|
|
132
|
+
* Recording mode: typing speed (ms/character)
|
|
133
|
+
* Default: 80ms, set to 0 to write directly without typing
|
|
134
134
|
*/
|
|
135
135
|
typingSpeed?: number;
|
|
136
136
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
137
|
+
* Recording mode: pause duration after command execution (ms)
|
|
138
|
+
* Gives viewers time to read the output
|
|
139
139
|
*/
|
|
140
140
|
pauseAfter?: number;
|
|
141
141
|
/**
|
|
142
|
-
*
|
|
142
|
+
* Recording mode: pause duration before command execution (ms)
|
|
143
143
|
*/
|
|
144
144
|
pauseBefore?: number;
|
|
145
145
|
}
|
|
146
146
|
/**
|
|
147
|
-
*
|
|
147
|
+
* Plugin factory type - creates plugin instances for new terminals
|
|
148
148
|
*/
|
|
149
149
|
export type PluginFactory<TPlugins = Record<string, unknown>> = (terminal: TerminalAPI) => TPlugins;
|
|
150
150
|
/**
|
|
151
|
-
*
|
|
151
|
+
* Terminal interface with plugins
|
|
152
152
|
*/
|
|
153
153
|
export interface TerminalWithPlugins<TPlugins = Record<string, unknown>> extends TerminalAPI {
|
|
154
|
-
/**
|
|
154
|
+
/** Plugin instance (same configuration as main terminal) */
|
|
155
155
|
plugins: TPlugins;
|
|
156
156
|
}
|
|
157
157
|
export interface TerminalAPI {
|
|
158
158
|
/**
|
|
159
|
-
*
|
|
159
|
+
* Execute command, returns PTYProcess (can await or use controller methods)
|
|
160
160
|
*
|
|
161
|
-
*
|
|
162
|
-
* -
|
|
161
|
+
* Usage:
|
|
162
|
+
* - Non-interactive: directly await, get CommandResult
|
|
163
163
|
* `const result = await terminal.run('echo hello');`
|
|
164
164
|
*
|
|
165
|
-
* -
|
|
165
|
+
* - Interactive: don't await, use controller methods
|
|
166
166
|
* `const proc = terminal.run('vim file.txt');`
|
|
167
167
|
* `await proc.expect('~');`
|
|
168
168
|
* `await proc.send(':q');`
|
|
169
169
|
* `const result = await proc;`
|
|
170
170
|
*
|
|
171
|
-
* @param command -
|
|
172
|
-
* @param options -
|
|
171
|
+
* @param command - Command to execute
|
|
172
|
+
* @param options - Optional configuration
|
|
173
173
|
*/
|
|
174
174
|
run(command: string, options?: RunOptions): PTYProcess;
|
|
175
|
-
/**
|
|
175
|
+
/** Send input to terminal */
|
|
176
176
|
send(text: string): Promise<void>;
|
|
177
|
-
/**
|
|
177
|
+
/** Wait for specified text to appear */
|
|
178
178
|
waitForText(text: string, options?: WaitOptions): Promise<void>;
|
|
179
|
-
/**
|
|
179
|
+
/** Get current terminal output snapshot */
|
|
180
180
|
snapshot(): Promise<string>;
|
|
181
|
-
/**
|
|
181
|
+
/** Close terminal */
|
|
182
182
|
close(): Promise<void>;
|
|
183
183
|
/**
|
|
184
|
-
*
|
|
185
|
-
*
|
|
184
|
+
* Create new terminal instance (multi-terminal testing)
|
|
185
|
+
* If plugin factory is set, returned terminal automatically includes plugins property
|
|
186
186
|
*/
|
|
187
187
|
create<TPlugins = Record<string, unknown>>(): Promise<TerminalWithPlugins<TPlugins>>;
|
|
188
|
-
/**
|
|
188
|
+
/** Check if in recording mode */
|
|
189
189
|
isRecording?(): boolean;
|
|
190
|
-
/**
|
|
190
|
+
/** Check if in PTY mode (includes recording mode and ptyOnly mode) */
|
|
191
191
|
isPtyMode?(): boolean;
|
|
192
192
|
/**
|
|
193
|
-
*
|
|
194
|
-
* @internal
|
|
193
|
+
* Set plugin factory (for auto-injection into create())
|
|
194
|
+
* @internal Called by plugin system
|
|
195
195
|
*/
|
|
196
196
|
setPluginFactory?<TPlugins>(factory: PluginFactory<TPlugins>): void;
|
|
197
197
|
}
|
|
198
198
|
export interface WaitOptions {
|
|
199
199
|
timeout?: number;
|
|
200
200
|
/**
|
|
201
|
-
*
|
|
202
|
-
*
|
|
201
|
+
* Whether to remove ANSI escape sequences before matching text (default true in recording mode)
|
|
202
|
+
* Set to false to preserve raw output for testing ANSI-related features
|
|
203
203
|
*/
|
|
204
204
|
stripAnsi?: boolean;
|
|
205
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/runner/models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/runner/models.ts"],"names":[],"mappings":"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"}
|
package/dist/runner/runner.js
CHANGED
|
@@ -76,7 +76,7 @@ export async function runSuite(suite, options, inheritedContext = {}) {
|
|
|
76
76
|
return results;
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* Get record config inherited from suite
|
|
80
80
|
*/
|
|
81
81
|
function getInheritedRecordConfig(suite) {
|
|
82
82
|
if (suite.options?.record !== undefined) {
|
|
@@ -100,20 +100,20 @@ export async function runTest(testCase, suite, options, inheritedContext = {}) {
|
|
|
100
100
|
}
|
|
101
101
|
const startTime = Date.now();
|
|
102
102
|
const { config, artifactManager, onResult, onTestStart } = options;
|
|
103
|
-
//
|
|
104
|
-
// 1. testRecordConfig:
|
|
105
|
-
// 2. cliRecordMode: CLI --record
|
|
106
|
-
// 3. shouldRecord:
|
|
107
|
-
// 4. shouldUsePtyOnly: test
|
|
103
|
+
// Execution mode:
|
|
104
|
+
// 1. testRecordConfig: test- or suite-level record
|
|
105
|
+
// 2. cliRecordMode: CLI --record
|
|
106
|
+
// 3. shouldRecord: full recording (asciinema + tmux + typing) only when both CLI and test enable it
|
|
107
|
+
// 4. shouldUsePtyOnly: test has record but CLI does not -> PTY-only (no recording, no typing)
|
|
108
108
|
const testRecordConfig = testCase.options?.record ?? getInheritedRecordConfig(suite);
|
|
109
109
|
const cliRecordMode = config.record?.enabled ?? false;
|
|
110
|
-
const shouldRecord = cliRecordMode && testRecordConfig; //
|
|
111
|
-
const shouldUsePtyOnly = testRecordConfig && !cliRecordMode; // PTY-only
|
|
110
|
+
const shouldRecord = cliRecordMode && testRecordConfig; // Full recording
|
|
111
|
+
const shouldUsePtyOnly = testRecordConfig && !cliRecordMode; // PTY-only
|
|
112
112
|
// Get recording path for this test (only in recording mode)
|
|
113
113
|
const recordingPath = shouldRecord
|
|
114
114
|
? artifactManager.getCastPath(testCase.id)
|
|
115
115
|
: undefined;
|
|
116
|
-
//
|
|
116
|
+
// Notify before hooks so suite name prints before hook output
|
|
117
117
|
onTestStart?.({ suitePath, testName: testCase.name });
|
|
118
118
|
// Create terminal for test
|
|
119
119
|
// Use user's actual terminal size (like simple-example.js)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
|