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/api/describe.d.ts
CHANGED
|
@@ -7,10 +7,10 @@ import type { DescribeOptions } from '../runner/models.js';
|
|
|
7
7
|
* Create a test suite with grouped tests
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
|
-
* //
|
|
10
|
+
* // Regular test suite
|
|
11
11
|
* describe('suite name', () => { ... });
|
|
12
12
|
*
|
|
13
|
-
* //
|
|
13
|
+
* // Recording test suite
|
|
14
14
|
* describe('suite name', { record: true }, () => { ... });
|
|
15
15
|
*/
|
|
16
16
|
export declare function describe(name: string, fn: () => void): void;
|
package/dist/api/expect.d.ts
CHANGED
package/dist/api/expect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../src/api/expect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,YAAY,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../src/api/expect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;gBAGrB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,OAAO;CAOlB;AAqKD,OAAO,QAAQ,UAAU,CAAC;IACxB,UAAU,QAAQ,CAAC,CAAC;QAClB,yCAAyC;QACzC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,gDAAgD;QAChD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,iDAAiD;QACjD,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,8CAA8C;QAC9C,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,6CAA6C;QAC7C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9C,2CAA2C;QAC3C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5C,2CAA2C;QAC3C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5C,0CAA0C;QAC1C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5C,0CAA0C;QAC1C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5C,2CAA2C;QAC3C,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;KAClD;CACF;AAID,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/api/hooks.d.ts
CHANGED
|
@@ -6,12 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { TestContext, TestSuite } from '../runner/models.js';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Base hook function type
|
|
10
10
|
*/
|
|
11
11
|
export type HookFunction = (context: TestContext) => Promise<void> | void;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
* 返回的对象会被合并到后续的 context 中
|
|
13
|
+
* Enhanced hook: return value is merged into context
|
|
15
14
|
*/
|
|
16
15
|
export type EnhancedHookFunction = (context: TestContext) => Promise<Record<string, unknown> | void> | Record<string, unknown> | void;
|
|
17
16
|
/**
|
|
@@ -98,14 +97,14 @@ export declare const hooksRegistry: HooksRegistry;
|
|
|
98
97
|
/**
|
|
99
98
|
* Register a named beforeEach hook with lazy execution
|
|
100
99
|
*
|
|
101
|
-
*
|
|
100
|
+
* Hook runs only when test params request this fixture.
|
|
102
101
|
*
|
|
103
|
-
* @param name Fixture
|
|
104
|
-
* @param fn Hook
|
|
102
|
+
* @param name Fixture name (must match return object key)
|
|
103
|
+
* @param fn Hook; return value injected into context
|
|
105
104
|
*
|
|
106
105
|
* @example
|
|
107
106
|
* describe('my tests', () => {
|
|
108
|
-
* //
|
|
107
|
+
* // Register 'tmpDir' fixture
|
|
109
108
|
* beforeEach('tmpDir', async () => {
|
|
110
109
|
* const tmpDir = await fs.mkdtemp('/tmp/test-');
|
|
111
110
|
* return { tmpDir };
|
|
@@ -115,12 +114,12 @@ export declare const hooksRegistry: HooksRegistry;
|
|
|
115
114
|
* if (tmpDir) await fs.rm(tmpDir, { recursive: true });
|
|
116
115
|
* });
|
|
117
116
|
*
|
|
118
|
-
* //
|
|
117
|
+
* // This test triggers tmpDir
|
|
119
118
|
* test('uses tmpDir', async ({ terminal, tmpDir }) => {
|
|
120
119
|
* await terminal.run(`ls ${tmpDir}`);
|
|
121
120
|
* });
|
|
122
121
|
*
|
|
123
|
-
* //
|
|
122
|
+
* // This test does not trigger tmpDir
|
|
124
123
|
* test('no fixture needed', async ({ terminal }) => {
|
|
125
124
|
* await terminal.run('echo hello');
|
|
126
125
|
* });
|
|
@@ -130,19 +129,19 @@ export declare function beforeEach(name: string, fn: EnhancedHookFunction): void
|
|
|
130
129
|
/**
|
|
131
130
|
* Register a named afterEach hook
|
|
132
131
|
*
|
|
133
|
-
*
|
|
132
|
+
* Runs only when matching beforeEach ran.
|
|
134
133
|
*
|
|
135
|
-
* @param name Fixture
|
|
136
|
-
* @param fn Hook
|
|
134
|
+
* @param name Fixture name (same as beforeEach)
|
|
135
|
+
* @param fn Hook function
|
|
137
136
|
*/
|
|
138
137
|
export declare function afterEach(name: string, fn: HookFunction): void;
|
|
139
138
|
/**
|
|
140
139
|
* Register a beforeAll hook for the current suite
|
|
141
140
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
141
|
+
* Runs once before all tests in suite.
|
|
142
|
+
* Return value merged into context for all tests.
|
|
144
143
|
*
|
|
145
|
-
* @param fn Hook
|
|
144
|
+
* @param fn Hook; return value injected into context
|
|
146
145
|
*
|
|
147
146
|
* @example
|
|
148
147
|
* describe('admin tests', () => {
|
|
@@ -165,9 +164,9 @@ export declare function beforeAll(name: string, fn: EnhancedHookFunction): void;
|
|
|
165
164
|
/**
|
|
166
165
|
* Register an afterAll hook for the current suite
|
|
167
166
|
*
|
|
168
|
-
*
|
|
167
|
+
* Runs once after all tests in suite.
|
|
169
168
|
*
|
|
170
|
-
* @param fn Hook
|
|
169
|
+
* @param fn Hook function
|
|
171
170
|
*/
|
|
172
171
|
export declare function afterAll(fn: HookFunction): void;
|
|
173
172
|
export declare function afterAll(name: string, fn: HookFunction): void;
|
package/dist/api/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/api/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGlE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1E
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/api/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/api/hooks.js
CHANGED
|
@@ -162,14 +162,14 @@ export const hooksRegistry = new HooksRegistry();
|
|
|
162
162
|
/**
|
|
163
163
|
* Register a named beforeEach hook with lazy execution
|
|
164
164
|
*
|
|
165
|
-
*
|
|
165
|
+
* Hook runs only when test params request this fixture.
|
|
166
166
|
*
|
|
167
|
-
* @param name Fixture
|
|
168
|
-
* @param fn Hook
|
|
167
|
+
* @param name Fixture name (must match return object key)
|
|
168
|
+
* @param fn Hook; return value injected into context
|
|
169
169
|
*
|
|
170
170
|
* @example
|
|
171
171
|
* describe('my tests', () => {
|
|
172
|
-
* //
|
|
172
|
+
* // Register 'tmpDir' fixture
|
|
173
173
|
* beforeEach('tmpDir', async () => {
|
|
174
174
|
* const tmpDir = await fs.mkdtemp('/tmp/test-');
|
|
175
175
|
* return { tmpDir };
|
|
@@ -179,12 +179,12 @@ export const hooksRegistry = new HooksRegistry();
|
|
|
179
179
|
* if (tmpDir) await fs.rm(tmpDir, { recursive: true });
|
|
180
180
|
* });
|
|
181
181
|
*
|
|
182
|
-
* //
|
|
182
|
+
* // This test triggers tmpDir
|
|
183
183
|
* test('uses tmpDir', async ({ terminal, tmpDir }) => {
|
|
184
184
|
* await terminal.run(`ls ${tmpDir}`);
|
|
185
185
|
* });
|
|
186
186
|
*
|
|
187
|
-
* //
|
|
187
|
+
* // This test does not trigger tmpDir
|
|
188
188
|
* test('no fixture needed', async ({ terminal }) => {
|
|
189
189
|
* await terminal.run('echo hello');
|
|
190
190
|
* });
|
|
@@ -197,10 +197,10 @@ export function beforeEach(name, fn) {
|
|
|
197
197
|
/**
|
|
198
198
|
* Register a named afterEach hook
|
|
199
199
|
*
|
|
200
|
-
*
|
|
200
|
+
* Runs only when matching beforeEach ran.
|
|
201
201
|
*
|
|
202
|
-
* @param name Fixture
|
|
203
|
-
* @param fn Hook
|
|
202
|
+
* @param name Fixture name (same as beforeEach)
|
|
203
|
+
* @param fn Hook function
|
|
204
204
|
*/
|
|
205
205
|
export function afterEach(name, fn) {
|
|
206
206
|
const suiteId = registry.getCurrentSuiteId();
|
package/dist/api/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/api/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/api/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/api/steps.d.ts
CHANGED
|
@@ -3,37 +3,37 @@
|
|
|
3
3
|
* Provides named steps within tests for better organization
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Step
|
|
6
|
+
* Step recording options
|
|
7
7
|
*/
|
|
8
8
|
export interface StepRecordingOptions {
|
|
9
|
-
/**
|
|
9
|
+
/** Typing speed within step (ms/character) */
|
|
10
10
|
typingSpeed?: number;
|
|
11
|
-
/**
|
|
11
|
+
/** Pause duration after step (ms) */
|
|
12
12
|
pauseAfter?: number;
|
|
13
|
-
/**
|
|
13
|
+
/** Pause duration before step (ms) */
|
|
14
14
|
pauseBefore?: number;
|
|
15
|
-
/**
|
|
15
|
+
/** Display step title as comment in recording */
|
|
16
16
|
showStepTitle?: boolean;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Get recording options for current step
|
|
20
20
|
*/
|
|
21
21
|
export declare function getCurrentStepOptions(): StepRecordingOptions | null;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Get current step name
|
|
24
24
|
*/
|
|
25
25
|
export declare function getCurrentStepName(): string | null;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Check if step title should be displayed (only once)
|
|
28
28
|
*/
|
|
29
29
|
export declare function shouldShowStepTitle(): boolean;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* Mark step title as shown
|
|
32
32
|
*/
|
|
33
33
|
export declare function markStepTitleShown(): void;
|
|
34
34
|
/**
|
|
35
35
|
* Execute a named step within a test
|
|
36
|
-
*
|
|
36
|
+
* Supports two calling conventions:
|
|
37
37
|
* - step(name, fn)
|
|
38
38
|
* - step(name, options, fn)
|
|
39
39
|
*/
|
package/dist/api/steps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/api/steps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,
|
|
1
|
+
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/api/steps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAsBD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,oBAAoB,GAAG,IAAI,CAEnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,oBAAoB,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACtD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC,CAuCZ;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAKjC"}
|
package/dist/api/steps.js
CHANGED
|
@@ -8,31 +8,31 @@ import { randomBytes } from 'crypto';
|
|
|
8
8
|
*/
|
|
9
9
|
let currentSteps = [];
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Current step configuration context
|
|
12
12
|
*/
|
|
13
13
|
let currentStepOptions = null;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Current step name
|
|
16
16
|
*/
|
|
17
17
|
let currentStepName = null;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Whether current step title has been shown
|
|
20
20
|
*/
|
|
21
21
|
let stepTitleShown = false;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Get recording options for current step
|
|
24
24
|
*/
|
|
25
25
|
export function getCurrentStepOptions() {
|
|
26
26
|
return currentStepOptions;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Get current step name
|
|
30
30
|
*/
|
|
31
31
|
export function getCurrentStepName() {
|
|
32
32
|
return currentStepName;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Check if step title should be displayed (only once)
|
|
36
36
|
*/
|
|
37
37
|
export function shouldShowStepTitle() {
|
|
38
38
|
if (stepTitleShown)
|
|
@@ -40,14 +40,14 @@ export function shouldShowStepTitle() {
|
|
|
40
40
|
return currentStepOptions?.showStepTitle ?? false;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Mark step title as shown
|
|
44
44
|
*/
|
|
45
45
|
export function markStepTitleShown() {
|
|
46
46
|
stepTitleShown = true;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Execute a named step within a test
|
|
50
|
-
*
|
|
50
|
+
* Supports two calling conventions:
|
|
51
51
|
* - step(name, fn)
|
|
52
52
|
* - step(name, options, fn)
|
|
53
53
|
*/
|
|
@@ -62,13 +62,13 @@ export async function step(name, optionsOrFn, maybeFn) {
|
|
|
62
62
|
};
|
|
63
63
|
// Add to current steps
|
|
64
64
|
currentSteps.push(stepObj);
|
|
65
|
-
//
|
|
65
|
+
// Save previous configuration
|
|
66
66
|
const previousOptions = currentStepOptions;
|
|
67
67
|
const previousName = currentStepName;
|
|
68
|
-
//
|
|
68
|
+
// Set current step configuration
|
|
69
69
|
currentStepOptions = options;
|
|
70
70
|
currentStepName = name;
|
|
71
|
-
stepTitleShown = false; //
|
|
71
|
+
stepTitleShown = false; // Reset title shown status
|
|
72
72
|
try {
|
|
73
73
|
// Execute the step function
|
|
74
74
|
const result = await fn();
|
|
@@ -83,7 +83,7 @@ export async function step(name, optionsOrFn, maybeFn) {
|
|
|
83
83
|
throw error;
|
|
84
84
|
}
|
|
85
85
|
finally {
|
|
86
|
-
//
|
|
86
|
+
// Restore previous configuration
|
|
87
87
|
currentStepOptions = previousOptions;
|
|
88
88
|
currentStepName = previousName;
|
|
89
89
|
}
|
package/dist/api/steps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/api/steps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAmBrC;;GAEG;AACH,IAAI,YAAY,GAAW,EAAE,CAAC;AAE9B;;GAEG;AACH,IAAI,kBAAkB,GAAgC,IAAI,CAAC;AAE3D;;GAEG;AACH,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C;;GAEG;AACH,IAAI,cAAc,GAAY,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,kBAAkB,EAAE,aAAa,IAAI,KAAK,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAY,EACZ,WAAsD,EACtD,OAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACrE,MAAM,EAAE,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAQ,CAAC;IAEtE,MAAM,OAAO,GAAS;QACpB,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,uBAAuB;IACvB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE3B,
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/api/steps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAmBrC;;GAEG;AACH,IAAI,YAAY,GAAW,EAAE,CAAC;AAE9B;;GAEG;AACH,IAAI,kBAAkB,GAAgC,IAAI,CAAC;AAE3D;;GAEG;AACH,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C;;GAEG;AACH,IAAI,cAAc,GAAY,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,kBAAkB,EAAE,aAAa,IAAI,KAAK,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAY,EACZ,WAAsD,EACtD,OAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACrE,MAAM,EAAE,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAQ,CAAC;IAEtE,MAAM,OAAO,GAAS;QACpB,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,uBAAuB;IACvB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,eAAe,GAAG,kBAAkB,CAAC;IAC3C,MAAM,YAAY,GAAG,eAAe,CAAC;IAErC,iCAAiC;IACjC,kBAAkB,GAAG,OAAO,CAAC;IAC7B,eAAe,GAAG,IAAI,CAAC;IACvB,cAAc,GAAG,KAAK,CAAC,CAAE,2BAA2B;IAEpD,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4BAA4B;QAC5B,OAAO,CAAC,OAAO,GAAG;YAChB,KAAK,EAAG,KAAe,CAAC,OAAO;YAC/B,KAAK,EAAG,KAAe,CAAC,KAAK;SAC9B,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,iCAAiC;QACjC,kBAAkB,GAAG,eAAe,CAAC;QACrC,eAAe,GAAG,YAAY,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,YAAY,GAAG,EAAE,CAAC;IAClB,kBAAkB,GAAG,IAAI,CAAC;IAC1B,eAAe,GAAG,IAAI,CAAC;IACvB,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/api/test.d.ts
CHANGED
|
@@ -19,8 +19,6 @@ declare class TestRegistry {
|
|
|
19
19
|
* Get the current suite ID (for hooks registration)
|
|
20
20
|
*/
|
|
21
21
|
getCurrentSuiteId(): string | undefined;
|
|
22
|
-
/** Set by loader when loading a file so dynamically imported test code uses this suite (same registry instance). */
|
|
23
|
-
__pendingFileSuite?: TestSuite;
|
|
24
22
|
/**
|
|
25
23
|
* Register a test case
|
|
26
24
|
*/
|
|
@@ -52,20 +50,18 @@ declare class TestRegistry {
|
|
|
52
50
|
setCurrentSuite(suite: TestSuite): void;
|
|
53
51
|
/**
|
|
54
52
|
* Set the current file and create/reuse a file-level suite.
|
|
55
|
-
*
|
|
56
|
-
* @returns the file suite (for loader to set pending global when loading dynamic files)
|
|
53
|
+
* Returns the file suite so the loader can assign orphan tests (e.g. from cached modules).
|
|
57
54
|
*/
|
|
58
55
|
setCurrentFile(filePath: string): TestSuite;
|
|
59
56
|
/**
|
|
60
|
-
*
|
|
57
|
+
* Take any tests that were registered on the default suite (e.g. by a cached module
|
|
58
|
+
* that ran when default was current). Used by the loader to assign them to the file suite.
|
|
61
59
|
*/
|
|
62
|
-
|
|
60
|
+
takeTestsFromDefaultSuite(): TestCase[];
|
|
63
61
|
/**
|
|
64
|
-
*
|
|
65
|
-
* Used by the loader to reassign tests that landed on the default suite (e.g. due to
|
|
66
|
-
* async module evaluation) to the correct file-level suite.
|
|
62
|
+
* Reset to default suite
|
|
67
63
|
*/
|
|
68
|
-
|
|
64
|
+
resetCurrentSuite(): void;
|
|
69
65
|
/**
|
|
70
66
|
* Clear all registered tests (for testing)
|
|
71
67
|
*/
|
|
@@ -75,16 +71,18 @@ declare class TestRegistry {
|
|
|
75
71
|
*/
|
|
76
72
|
private generateId;
|
|
77
73
|
}
|
|
74
|
+
/** Global key used by loader so dynamically imported test files use the same registry (and __pendingFileSuite). */
|
|
75
|
+
export declare const GLOBAL_REGISTRY_KEY = "__repterm_registry";
|
|
78
76
|
export declare const registry: TestRegistry;
|
|
79
77
|
/**
|
|
80
78
|
* Playwright-style test() function
|
|
81
79
|
* Registers a test case with the current suite
|
|
82
80
|
*
|
|
83
81
|
* @example
|
|
84
|
-
* //
|
|
82
|
+
* // Regular test
|
|
85
83
|
* test('name', async ({ terminal }) => { ... });
|
|
86
84
|
*
|
|
87
|
-
* //
|
|
85
|
+
* // Recording test
|
|
88
86
|
* test('name', { record: true }, async ({ terminal }) => { ... });
|
|
89
87
|
*/
|
|
90
88
|
export declare function test(name: string, fn: TestFunction): void;
|
package/dist/api/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/api/test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG1F;;GAEG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,YAAY,CAAY;;IAehC;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAMvC
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/api/test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG1F;;GAEG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,YAAY,CAAY;;IAehC;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAMvC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAczE;;OAEG;IACH,SAAS,IAAI,SAAS,EAAE;IASxB;;;OAGG;IACH,aAAa,IAAI,SAAS,EAAE;IAe5B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI3C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAmBjC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAMhB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIvC;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAuB3C;;;OAGG;IACH,yBAAyB,IAAI,QAAQ,EAAE;IAMvC;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAED,mHAAmH;AACnH,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAUxD,eAAO,MAAM,QAAQ,EAAE,YAA8B,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC;AAC3D,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC;AAYjF;;GAEG;AACH,wBAAgB,QAAQ,IAAI,SAAS,EAAE,CAEtC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
|
package/dist/api/test.js
CHANGED
|
@@ -36,13 +36,11 @@ class TestRegistry {
|
|
|
36
36
|
// Return undefined for default suite to indicate global hooks
|
|
37
37
|
return suite.id === 'default' ? undefined : suite.id;
|
|
38
38
|
}
|
|
39
|
-
/** Set by loader when loading a file so dynamically imported test code uses this suite (same registry instance). */
|
|
40
|
-
__pendingFileSuite;
|
|
41
39
|
/**
|
|
42
40
|
* Register a test case
|
|
43
41
|
*/
|
|
44
42
|
registerTest(name, fn, options) {
|
|
45
|
-
const suite = this.
|
|
43
|
+
const suite = this.getCurrentSuite();
|
|
46
44
|
const testCase = {
|
|
47
45
|
id: this.generateId(),
|
|
48
46
|
name,
|
|
@@ -118,14 +116,13 @@ class TestRegistry {
|
|
|
118
116
|
}
|
|
119
117
|
/**
|
|
120
118
|
* Set the current file and create/reuse a file-level suite.
|
|
121
|
-
*
|
|
122
|
-
* @returns the file suite (for loader to set pending global when loading dynamic files)
|
|
119
|
+
* Returns the file suite so the loader can assign orphan tests (e.g. from cached modules).
|
|
123
120
|
*/
|
|
124
121
|
setCurrentFile(filePath) {
|
|
125
|
-
|
|
126
|
-
const fileName =
|
|
127
|
-
//
|
|
128
|
-
let fileSuite = this.fileSuites.get(
|
|
122
|
+
// Extract filename from path (handle both / and \)
|
|
123
|
+
const fileName = filePath.replace(/\\/g, '/').split('/').pop() || filePath;
|
|
124
|
+
// Check if suite for this file already exists
|
|
125
|
+
let fileSuite = this.fileSuites.get(fileName);
|
|
129
126
|
if (!fileSuite) {
|
|
130
127
|
fileSuite = {
|
|
131
128
|
id: `file-${this.generateId()}`,
|
|
@@ -134,7 +131,7 @@ class TestRegistry {
|
|
|
134
131
|
suites: [],
|
|
135
132
|
config: {},
|
|
136
133
|
};
|
|
137
|
-
this.fileSuites.set(
|
|
134
|
+
this.fileSuites.set(fileName, fileSuite);
|
|
138
135
|
this.suites.set(fileSuite.id, fileSuite);
|
|
139
136
|
}
|
|
140
137
|
// Reset stack and push file suite
|
|
@@ -142,20 +139,19 @@ class TestRegistry {
|
|
|
142
139
|
return fileSuite;
|
|
143
140
|
}
|
|
144
141
|
/**
|
|
145
|
-
*
|
|
142
|
+
* Take any tests that were registered on the default suite (e.g. by a cached module
|
|
143
|
+
* that ran when default was current). Used by the loader to assign them to the file suite.
|
|
146
144
|
*/
|
|
147
|
-
|
|
148
|
-
this.
|
|
145
|
+
takeTestsFromDefaultSuite() {
|
|
146
|
+
const tests = this.defaultSuite.tests;
|
|
147
|
+
this.defaultSuite.tests = [];
|
|
148
|
+
return tests;
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
|
-
*
|
|
152
|
-
* Used by the loader to reassign tests that landed on the default suite (e.g. due to
|
|
153
|
-
* async module evaluation) to the correct file-level suite.
|
|
151
|
+
* Reset to default suite
|
|
154
152
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
this.defaultSuite.tests = [];
|
|
158
|
-
return orphan;
|
|
153
|
+
resetCurrentSuite() {
|
|
154
|
+
this.popSuite();
|
|
159
155
|
}
|
|
160
156
|
/**
|
|
161
157
|
* Clear all registered tests (for testing)
|
|
@@ -180,28 +176,31 @@ class TestRegistry {
|
|
|
180
176
|
return randomBytes(8).toString('hex');
|
|
181
177
|
}
|
|
182
178
|
}
|
|
183
|
-
/** Global key
|
|
184
|
-
const GLOBAL_REGISTRY_KEY = '__repterm_registry';
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
179
|
+
/** Global key used by loader so dynamically imported test files use the same registry (and __pendingFileSuite). */
|
|
180
|
+
export const GLOBAL_REGISTRY_KEY = '__repterm_registry';
|
|
181
|
+
const defaultRegistry = new TestRegistry();
|
|
182
|
+
function getRegistry() {
|
|
183
|
+
if (typeof globalThis === 'undefined')
|
|
184
|
+
return defaultRegistry;
|
|
185
|
+
const g = globalThis[GLOBAL_REGISTRY_KEY];
|
|
186
|
+
return g ?? defaultRegistry;
|
|
187
|
+
}
|
|
188
|
+
export const registry = defaultRegistry;
|
|
190
189
|
export function test(name, optionsOrFn, maybeFn) {
|
|
191
190
|
const options = typeof optionsOrFn === 'function' ? undefined : optionsOrFn;
|
|
192
191
|
const fn = typeof optionsOrFn === 'function' ? optionsOrFn : maybeFn;
|
|
193
|
-
|
|
192
|
+
getRegistry().registerTest(name, fn, options);
|
|
194
193
|
}
|
|
195
194
|
/**
|
|
196
195
|
* Get all registered tests
|
|
197
196
|
*/
|
|
198
197
|
export function getTests() {
|
|
199
|
-
return
|
|
198
|
+
return getRegistry().getSuites();
|
|
200
199
|
}
|
|
201
200
|
/**
|
|
202
201
|
* Clear all registered tests
|
|
203
202
|
*/
|
|
204
203
|
export function clearTests() {
|
|
205
|
-
|
|
204
|
+
getRegistry().clear();
|
|
206
205
|
}
|
|
207
206
|
//# sourceMappingURL=test.js.map
|
package/dist/api/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/api/test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,YAAY;IACR,MAAM,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC3C,UAAU,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC/C,UAAU,GAAgB,EAAE,CAAC,CAAC,oCAAoC;IAClE,YAAY,CAAY;IAEhC;QACE,6CAA6C;QAC7C,IAAI,CAAC,YAAY,GAAG;YAClB,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,8DAA8D;QAC9D,OAAO,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACvD,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/api/test.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -183,7 +183,7 @@ Options:
|
|
|
183
183
|
-w, --workers <n> Number of parallel workers (default: 1)
|
|
184
184
|
-t, --timeout <ms> Test timeout in milliseconds (default: from config)
|
|
185
185
|
-v, --verbose Verbose output with stack traces
|
|
186
|
-
-p, --prompt-lines <n>
|
|
186
|
+
-p, --prompt-lines <n> Prompt line count for output capture (0=auto-detect)
|
|
187
187
|
--slow-threshold <ms> Show duration for tests slower than this (default: 50)
|
|
188
188
|
--recording-dir <path> Directory for recording artifacts (default: /tmp/repterm)
|
|
189
189
|
-h, --help Show this help message
|
package/dist/plugin/index.d.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Repterm Plugin System
|
|
3
3
|
*
|
|
4
4
|
* A type-safe plugin system that allows extending test contexts and terminal APIs.
|
|
5
|
-
* Types and definePlugin come from
|
|
5
|
+
* Types and definePlugin come from repterm-api; runtime lives here.
|
|
6
6
|
*/
|
|
7
7
|
import type { TestContext } from '../runner/models.js';
|
|
8
|
-
import { definePlugin as definePluginFromApi, type BasePluginContext as BasePluginContextGeneric, type PluginHooks, type PluginDefinition, type AnyPlugin } from '
|
|
8
|
+
import { definePlugin as definePluginFromApi, type BasePluginContext as BasePluginContextGeneric, type PluginHooks, type PluginDefinition, type AnyPlugin } from 'repterm-api';
|
|
9
9
|
export { definePluginFromApi as definePlugin };
|
|
10
10
|
export type { PluginDefinition, AnyPlugin, PluginHooks };
|
|
11
11
|
export type BasePluginContext = BasePluginContextGeneric<TestContext>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,YAAY,IAAI,mBAAmB,EACnC,KAAK,iBAAiB,IAAI,wBAAwB,EAClD,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Repterm Plugin System
|
|
3
3
|
*
|
|
4
4
|
* A type-safe plugin system that allows extending test contexts and terminal APIs.
|
|
5
|
-
* Types and definePlugin come from
|
|
5
|
+
* Types and definePlugin come from repterm-api; runtime lives here.
|
|
6
6
|
*/
|
|
7
|
-
import { definePlugin as definePluginFromApi, } from '
|
|
7
|
+
import { definePlugin as definePluginFromApi, } from 'repterm-api';
|
|
8
8
|
// Re-export plugin-api for consumers (repterm re-exports these from index)
|
|
9
9
|
export { definePluginFromApi as definePlugin };
|
|
10
10
|
// ============== Runtime Implementation ==============
|