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.
@@ -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;
@@ -6,7 +6,7 @@
6
6
  * additional matchers via expect.extend().
7
7
  */
8
8
  import { expect } from 'bun:test';
9
- export type { MatcherResult } from '@repterm/plugin-api';
9
+ export type { MatcherResult } from 'repterm-api';
10
10
  /**
11
11
  * Assertion error with expected/actual values
12
12
  */
@@ -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,qBAAqB,CAAC;AAEzD;;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"}
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"}
@@ -6,12 +6,11 @@
6
6
  */
7
7
  import type { TestContext, TestSuite } from '../runner/models.js';
8
8
  /**
9
- * 基础 Hook 函数类型
9
+ * Base hook function type
10
10
  */
11
11
  export type HookFunction = (context: TestContext) => Promise<void> | void;
12
12
  /**
13
- * 增强的 Hook 函数类型,支持返回值注入
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
- * 只有测试函数参数中请求了该 Fixture,才会执行此 Hook。
100
+ * Hook runs only when test params request this fixture.
102
101
  *
103
- * @param name Fixture 名称(必须与返回对象的 key 一致)
104
- * @param fn Hook 函数,返回对象会被注入到 context
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
- * // 注册名为 'tmpDir' fixture
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
- * // 这个测试会触发 tmpDir fixture
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
- * // 这个测试不会触发 tmpDir fixture
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
- * 只有对应的 beforeEach 被执行了,此 Hook 才会执行。
132
+ * Runs only when matching beforeEach ran.
134
133
  *
135
- * @param name Fixture 名称(与 beforeEach 注册的名称一致)
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
- * Suite 中所有测试执行前只运行一次。
143
- * 返回的对象会被合并到 Context,传递给所有测试。
141
+ * Runs once before all tests in suite.
142
+ * Return value merged into context for all tests.
144
143
  *
145
- * @param fn Hook 函数,返回对象会被注入到 context
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
- * Suite 中所有测试执行后只运行一次。
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;
@@ -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;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAsC9E;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,mBAAmB,CAAiD;IAC5E,OAAO,CAAC,kBAAkB,CAAgD;IAE1E;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlF;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzE;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5F;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOnF;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;;OAMG;IACG,gBAAgB,CACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAsBnE;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;OAKG;IACG,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAC7C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAcnC;;;;OAIG;IACG,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAGvE;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAG9D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAC;AAC1D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAC;AAgBxE;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC;AACjD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC;AAgB/D;;GAEG;AACH,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,CAAC"}
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;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAsC9E;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,mBAAmB,CAAiD;IAC5E,OAAO,CAAC,kBAAkB,CAAgD;IAE1E;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlF;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzE;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5F;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOnF;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;;OAMG;IACG,gBAAgB,CACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAsBnE;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;OAKG;IACG,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAC7C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAcnC;;;;OAIG;IACG,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAGvE;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAG9D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAC;AAC1D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAC;AAgBxE;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC;AACjD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC;AAgB/D;;GAEG;AACH,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,CAAC"}
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
- * 只有测试函数参数中请求了该 Fixture,才会执行此 Hook。
165
+ * Hook runs only when test params request this fixture.
166
166
  *
167
- * @param name Fixture 名称(必须与返回对象的 key 一致)
168
- * @param fn Hook 函数,返回对象会被注入到 context
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
- * // 注册名为 'tmpDir' fixture
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
- * // 这个测试会触发 tmpDir fixture
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
- * // 这个测试不会触发 tmpDir fixture
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
- * 只有对应的 beforeEach 被执行了,此 Hook 才会执行。
200
+ * Runs only when matching beforeEach ran.
201
201
  *
202
- * @param name Fixture 名称(与 beforeEach 注册的名称一致)
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();
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/api/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/api/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAkDrC;;GAEG;AACH,MAAM,aAAa;IACT,oBAAoB,GAA2B,EAAE,CAAC;IAClD,mBAAmB,GAA0B,EAAE,CAAC;IAChD,mBAAmB,GAAuC,IAAI,GAAG,EAAE,CAAC;IACpE,kBAAkB,GAAsC,IAAI,GAAG,EAAE,CAAC;IAE1E;;;;;OAKG;IACH,kBAAkB,CAAC,IAAY,EAAE,EAAwB,EAAE,OAAgB;QACzE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAY,EAAE,EAAgB,EAAE,OAAgB;QAChE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAwB,EAAE,EAAwB,EAAE,OAAe;QACnF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,IAAwB,EAAE,EAAgB,EAAE,OAAe;QAC1E,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAiB;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,OAAO,EAAE,CAAC;YACf,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,WAA+B,EAAE,UAAoB;QACjF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAoB,EACpB,KAA4B,EAC5B,gBAA6B;QAE7B,IAAI,gBAAgB,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9C,gEAAgE;YAChE,IACE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,EACrD,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBAChD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACzC,gBAAgB,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,MAAM,EAAE,CAAC;gBACxD,CAAC;gBACD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,OAAoB,EACpB,KAA4B,EAC5B,gBAA6B;QAE7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1D,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC1C,IACE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,EACrD,CAAC;gBACD,MAAM,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,KAAgB,EAChB,mBAA4C,EAAE;QAE9C,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,OAAO,GAAG,EAAE,GAAG,gBAAgB,EAAiB,CAAC;QAErD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,KAAgB,EAChB,UAAmC,EAAE;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAE1D,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,CAAC,EAAE,CAAC,OAAsB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF;AAED,wBAAwB;AACxB,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,EAAwB;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC7C,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,EAAgB;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC7C,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AA4BD,MAAM,UAAU,SAAS,CACvB,QAAuC,EACvC,OAA8B;IAE9B,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,EAAE,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAQ,CAAC;IAEhE,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAWD,MAAM,UAAU,QAAQ,CACtB,QAA+B,EAC/B,OAAsB;IAEtB,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,EAAE,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAQ,CAAC;IAEhE,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,CAAC"}
@@ -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
- /** 步骤内命令的打字速度 (ms/字符) */
9
+ /** Typing speed within step (ms/character) */
10
10
  typingSpeed?: number;
11
- /** 步骤结束后暂停时间 (ms) */
11
+ /** Pause duration after step (ms) */
12
12
  pauseAfter?: number;
13
- /** 步骤开始前暂停时间 (ms) */
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
- * 获取当前 step 的录制选项
19
+ * Get recording options for current step
20
20
  */
21
21
  export declare function getCurrentStepOptions(): StepRecordingOptions | null;
22
22
  /**
23
- * 获取当前 step 的名称
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
  */
@@ -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,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qBAAqB;IACrB,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"}
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
- * 当前 step 配置上下文
11
+ * Current step configuration context
12
12
  */
13
13
  let currentStepOptions = null;
14
14
  /**
15
- * 当前 step 名称
15
+ * Current step name
16
16
  */
17
17
  let currentStepName = null;
18
18
  /**
19
- * 当前 step 标题是否已显示
19
+ * Whether current step title has been shown
20
20
  */
21
21
  let stepTitleShown = false;
22
22
  /**
23
- * 获取当前 step 的录制选项
23
+ * Get recording options for current step
24
24
  */
25
25
  export function getCurrentStepOptions() {
26
26
  return currentStepOptions;
27
27
  }
28
28
  /**
29
- * 获取当前 step 的名称
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
- // 设置当前 step 配置
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
  }
@@ -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,UAAU;IACV,MAAM,eAAe,GAAG,kBAAkB,CAAC;IAC3C,MAAM,YAAY,GAAG,eAAe,CAAC;IAErC,eAAe;IACf,kBAAkB,GAAG,OAAO,CAAC;IAC7B,eAAe,GAAG,IAAI,CAAC;IACvB,cAAc,GAAG,KAAK,CAAC,CAAE,WAAW;IAEpC,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,UAAU;QACV,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"}
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"}
@@ -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
- * Uses full path as key so different files (e.g. same basename in different dirs) get separate suites.
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
- * Reset to default suite
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
- resetCurrentSuite(): void;
60
+ takeTestsFromDefaultSuite(): TestCase[];
63
61
  /**
64
- * Remove and return tests that were registered to the default suite.
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
- takeTestsFromDefaultSuite(): TestCase[];
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;
@@ -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,oHAAoH;IACpH,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B;;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;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAuB3C;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;;OAIG;IACH,yBAAyB,IAAI,QAAQ,EAAE;IAMvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAUD,eAAO,MAAM,QAAQ,EAAE,YAAoD,CAAC;AAE5E;;;;;;;;;;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"}
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.__pendingFileSuite ?? this.getCurrentSuite();
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
- * Uses full path as key so different files (e.g. same basename in different dirs) get separate suites.
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
- const normalizedPath = filePath.replace(/\\/g, '/');
126
- const fileName = normalizedPath.split('/').pop() || filePath;
127
- // Key by full path so each file gets its own suite (same basename in different dirs)
128
- let fileSuite = this.fileSuites.get(normalizedPath);
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(normalizedPath, fileSuite);
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
- * Reset to default suite
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
- resetCurrentSuite() {
148
- this.popSuite();
145
+ takeTestsFromDefaultSuite() {
146
+ const tests = this.defaultSuite.tests;
147
+ this.defaultSuite.tests = [];
148
+ return tests;
149
149
  }
150
150
  /**
151
- * Remove and return tests that were registered to the default suite.
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
- takeTestsFromDefaultSuite() {
156
- const orphan = this.defaultSuite.tests;
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 so loader can pass the registry into dynamically imported test files (avoids duplicate module instances). */
184
- const GLOBAL_REGISTRY_KEY = '__repterm_registry';
185
- // Global registry instance; use shared one from loader when set (for dynamic import of test files)
186
- const _globalRegistry = typeof globalThis !== 'undefined'
187
- ? globalThis[GLOBAL_REGISTRY_KEY]
188
- : undefined;
189
- export const registry = _globalRegistry ?? new TestRegistry();
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
- registry.registerTest(name, fn, options);
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 registry.getSuites();
198
+ return getRegistry().getSuites();
200
199
  }
201
200
  /**
202
201
  * Clear all registered tests
203
202
  */
204
203
  export function clearTests() {
205
- registry.clear();
204
+ getRegistry().clear();
206
205
  }
207
206
  //# sourceMappingURL=test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/api/test.ts"],"names":[],"mappings":"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"}
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> 提示符占用的行数(用于输出捕获,0=自动检测)
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
@@ -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 @repterm/plugin-api; runtime lives here.
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 '@repterm/plugin-api';
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":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
@@ -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 @repterm/plugin-api; runtime lives here.
5
+ * Types and definePlugin come from repterm-api; runtime lives here.
6
6
  */
7
- import { definePlugin as definePluginFromApi, } from '@repterm/plugin-api';
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 ==============