@c9up/helix 0.1.8 → 0.1.9

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.
Files changed (106) hide show
  1. package/README.md +274 -5
  2. package/bin/helix.js +312 -13
  3. package/dist/cli/failed-cache.d.ts +27 -0
  4. package/dist/cli/failed-cache.d.ts.map +1 -0
  5. package/dist/cli/failed-cache.js +64 -0
  6. package/dist/cli/failed-cache.js.map +1 -0
  7. package/dist/cli/glob.d.ts +36 -0
  8. package/dist/cli/glob.d.ts.map +1 -0
  9. package/dist/cli/glob.js +185 -0
  10. package/dist/cli/glob.js.map +1 -0
  11. package/dist/cli/native.d.ts +4 -0
  12. package/dist/cli/native.d.ts.map +1 -1
  13. package/dist/cli/native.js.map +1 -1
  14. package/dist/cli/pool.d.ts +11 -0
  15. package/dist/cli/pool.d.ts.map +1 -1
  16. package/dist/cli/pool.js +12 -0
  17. package/dist/cli/pool.js.map +1 -1
  18. package/dist/cli/reporter.d.ts +11 -0
  19. package/dist/cli/reporter.d.ts.map +1 -1
  20. package/dist/cli/reporter.js +53 -0
  21. package/dist/cli/reporter.js.map +1 -1
  22. package/dist/cli/run.d.ts +41 -0
  23. package/dist/cli/run.d.ts.map +1 -1
  24. package/dist/cli/run.js +181 -21
  25. package/dist/cli/run.js.map +1 -1
  26. package/dist/cli/runner.d.ts +19 -0
  27. package/dist/cli/runner.d.ts.map +1 -0
  28. package/dist/cli/runner.js +15 -0
  29. package/dist/cli/runner.js.map +1 -0
  30. package/dist/cli/suites.d.ts +102 -0
  31. package/dist/cli/suites.d.ts.map +1 -0
  32. package/dist/cli/suites.js +226 -0
  33. package/dist/cli/suites.js.map +1 -0
  34. package/dist/index.d.ts +10 -9
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +9 -8
  37. package/dist/index.js.map +1 -1
  38. package/dist/japa/core.d.ts +106 -0
  39. package/dist/japa/core.d.ts.map +1 -0
  40. package/dist/japa/core.js +128 -0
  41. package/dist/japa/core.js.map +1 -0
  42. package/dist/runtime/assert.d.ts +174 -0
  43. package/dist/runtime/assert.d.ts.map +1 -0
  44. package/dist/runtime/assert.js +591 -0
  45. package/dist/runtime/assert.js.map +1 -0
  46. package/dist/runtime/bootstrap.d.ts +47 -0
  47. package/dist/runtime/bootstrap.d.ts.map +1 -0
  48. package/dist/runtime/bootstrap.js +166 -0
  49. package/dist/runtime/bootstrap.js.map +1 -0
  50. package/dist/runtime/cli-args.d.ts +77 -0
  51. package/dist/runtime/cli-args.d.ts.map +1 -0
  52. package/dist/runtime/cli-args.js +85 -0
  53. package/dist/runtime/cli-args.js.map +1 -0
  54. package/dist/runtime/configure.d.ts +214 -0
  55. package/dist/runtime/configure.d.ts.map +1 -0
  56. package/dist/runtime/configure.js +164 -0
  57. package/dist/runtime/configure.js.map +1 -0
  58. package/dist/runtime/context.d.ts +84 -0
  59. package/dist/runtime/context.d.ts.map +1 -0
  60. package/dist/runtime/context.js +146 -0
  61. package/dist/runtime/context.js.map +1 -0
  62. package/dist/runtime/emitter.d.ts +141 -0
  63. package/dist/runtime/emitter.d.ts.map +1 -0
  64. package/dist/runtime/emitter.js +79 -0
  65. package/dist/runtime/emitter.js.map +1 -0
  66. package/dist/runtime/global-hooks.d.ts +31 -0
  67. package/dist/runtime/global-hooks.d.ts.map +1 -0
  68. package/dist/runtime/global-hooks.js +126 -0
  69. package/dist/runtime/global-hooks.js.map +1 -0
  70. package/dist/runtime/index.d.ts +14 -3
  71. package/dist/runtime/index.d.ts.map +1 -1
  72. package/dist/runtime/index.js +7 -2
  73. package/dist/runtime/index.js.map +1 -1
  74. package/dist/runtime/run.d.ts +49 -2
  75. package/dist/runtime/run.d.ts.map +1 -1
  76. package/dist/runtime/run.js +618 -94
  77. package/dist/runtime/run.js.map +1 -1
  78. package/dist/runtime/runner.d.ts +97 -0
  79. package/dist/runtime/runner.d.ts.map +1 -0
  80. package/dist/runtime/runner.js +160 -0
  81. package/dist/runtime/runner.js.map +1 -0
  82. package/dist/runtime/suite-config.d.ts +23 -0
  83. package/dist/runtime/suite-config.d.ts.map +1 -0
  84. package/dist/runtime/suite-config.js +52 -0
  85. package/dist/runtime/suite-config.js.map +1 -0
  86. package/dist/runtime/suite-taps.d.ts +122 -0
  87. package/dist/runtime/suite-taps.d.ts.map +1 -0
  88. package/dist/runtime/suite-taps.js +218 -0
  89. package/dist/runtime/suite-taps.js.map +1 -0
  90. package/dist/runtime/suite.d.ts +277 -8
  91. package/dist/runtime/suite.d.ts.map +1 -1
  92. package/dist/runtime/suite.js +255 -4
  93. package/dist/runtime/suite.js.map +1 -1
  94. package/dist/runtime/test-context.d.ts +50 -3
  95. package/dist/runtime/test-context.d.ts.map +1 -1
  96. package/dist/runtime/test-context.js +83 -5
  97. package/dist/runtime/test-context.js.map +1 -1
  98. package/dist/runtime/worker.d.ts.map +1 -1
  99. package/dist/runtime/worker.js +85 -28
  100. package/dist/runtime/worker.js.map +1 -1
  101. package/index.darwin-arm64.node +0 -0
  102. package/index.darwin-x64.node +0 -0
  103. package/index.linux-arm64-gnu.node +0 -0
  104. package/index.linux-x64-gnu.node +0 -0
  105. package/index.win32-x64-msvc.node +0 -0
  106. package/package.json +8 -1
@@ -7,6 +7,7 @@
7
7
  * invocations never share state.
8
8
  */
9
9
  import { AsyncLocalStorage } from "node:async_hooks";
10
+ import { getFrameTest } from "./test-context.js";
10
11
  function makeSuite(name, mode, parent) {
11
12
  return {
12
13
  kind: "suite",
@@ -81,6 +82,8 @@ function registerTest(name, mode, fn, options) {
81
82
  parent.children.push(node);
82
83
  return node;
83
84
  }
85
+ /** Consumer-registered handle macros (Japa `Test.macro`) applied to every handle. */
86
+ const handleMacros = new Map();
84
87
  /** Wrap a registered node in the chainable Japa-style handle. */
85
88
  function makeHandle(node) {
86
89
  const handle = {
@@ -96,17 +99,136 @@ function makeHandle(node) {
96
99
  node.timeoutMs = 0;
97
100
  return handle;
98
101
  },
99
- tags(...tags) {
100
- node.tags = [...(node.tags ?? []), ...tags];
102
+ tags(tags, strategy = "replace") {
103
+ const incoming = Array.isArray(tags) ? tags : [tags];
104
+ const existing = node.tags ?? [];
105
+ node.tags =
106
+ strategy === "append"
107
+ ? [...existing, ...incoming]
108
+ : strategy === "prepend"
109
+ ? [...incoming, ...existing]
110
+ : [...incoming];
101
111
  return handle;
102
112
  },
103
- fails() {
113
+ fails(reason) {
104
114
  node.failing = true;
115
+ if (reason !== undefined)
116
+ node.reason = reason;
105
117
  return handle;
106
118
  },
119
+ setup(fn) {
120
+ if (!node.setups)
121
+ node.setups = [];
122
+ node.setups.push(fn);
123
+ return handle;
124
+ },
125
+ teardown(fn) {
126
+ if (!node.teardowns)
127
+ node.teardowns = [];
128
+ node.teardowns.push(fn);
129
+ return handle;
130
+ },
131
+ pin() {
132
+ node.pinned = true;
133
+ // A pinned test runs like `.only` — the runner already restricts the
134
+ // tree to `only` nodes when any exist.
135
+ if (node.mode === "run")
136
+ node.mode = "only";
137
+ return handle;
138
+ },
139
+ skip(condition = true, reason) {
140
+ if (typeof condition === "function") {
141
+ // Deferred: a function condition (possibly async) is evaluated at RUN
142
+ // time (Japa parity), not eagerly at collection.
143
+ node.skipCondition = condition;
144
+ if (reason !== undefined)
145
+ node.reason = reason;
146
+ }
147
+ else if (condition) {
148
+ node.mode = "skip";
149
+ if (reason !== undefined)
150
+ node.reason = reason;
151
+ }
152
+ return handle;
153
+ },
154
+ waitForDone() {
155
+ node.waitForDone = true;
156
+ return handle;
157
+ },
158
+ with(rows) {
159
+ // Covariant: DatasetSource<Row> assigns to DatasetSource<unknown> (no cast).
160
+ node.datasetFn = rows;
161
+ // If `test(name, fn)` already supplied a body, it IS the dataset body —
162
+ // re-home it so the executor calls it with `(ctx, row)`. `datasetBody`'s
163
+ // bivariant method signature accepts `node.fn` directly (no cast). A body
164
+ // added later via `.run()` overrides this.
165
+ if (node.datasetBody === undefined && node.fn) {
166
+ node.datasetBody = node.fn;
167
+ }
168
+ // A `test('title')` with no body was registered as `todo`; attaching a
169
+ // dataset makes it a runnable, per-row test again.
170
+ if (node.mode === "todo")
171
+ node.mode = "run";
172
+ node.fn = undefined;
173
+ const datasetHandle = {
174
+ run(fn) {
175
+ // Bivariant method param → the Row-typed body assigns without a cast.
176
+ node.datasetBody = fn;
177
+ if (node.mode === "todo")
178
+ node.mode = "run";
179
+ node.fn = undefined;
180
+ return handle;
181
+ },
182
+ };
183
+ return datasetHandle;
184
+ },
107
185
  };
186
+ // Apply consumer-registered macros (Japa `Test.macro`) — `this` is the handle
187
+ // so the macro can chain.
188
+ for (const [name, fn] of handleMacros) {
189
+ Object.defineProperty(handle, name, {
190
+ value: (...args) => fn.apply(handle, args),
191
+ enumerable: false,
192
+ configurable: true,
193
+ writable: true,
194
+ });
195
+ }
108
196
  return handle;
109
197
  }
198
+ /**
199
+ * Build the {@link TapHandle} passed to `group.tap` — the chainable modifiers
200
+ * plus a mutable `options` view backed live by the node (Japa `test.options`).
201
+ */
202
+ function makeTapHandle(node) {
203
+ const handle = makeHandle(node);
204
+ const options = {
205
+ get title() {
206
+ return node.name;
207
+ },
208
+ set title(v) {
209
+ node.name = v;
210
+ },
211
+ get tags() {
212
+ return node.tags ?? [];
213
+ },
214
+ set tags(v) {
215
+ node.tags = v;
216
+ },
217
+ get timeout() {
218
+ return node.timeoutMs;
219
+ },
220
+ set timeout(v) {
221
+ node.timeoutMs = v;
222
+ },
223
+ get retries() {
224
+ return node.retries;
225
+ },
226
+ set retries(v) {
227
+ node.retries = v;
228
+ },
229
+ };
230
+ return Object.assign(handle, { options });
231
+ }
110
232
  /** Normalise the optional 3rd arg: a bare number is a timeout (Vitest). */
111
233
  function normaliseTestOptions(optionsOrTimeout) {
112
234
  if (optionsOrTimeout === undefined)
@@ -218,11 +340,56 @@ function interpolateEach(template, row, index) {
218
340
  // Append index so names don't collide.
219
341
  return `${template} [${index}]`;
220
342
  }
343
+ /**
344
+ * Interpolate a dataset test title (Japa parity). Tokens:
345
+ * - `{$i}` → the 1-based row index
346
+ * - `{$self}`→ the row itself (stringified) — for primitive/array rows
347
+ * - `{prop}` / `{a.b}` → a (dotted) property lookup on an object row
348
+ * Unknown `{tokens}` are left verbatim. A template with no token at all is
349
+ * returned unchanged and therefore repeats for every row — Japa's behaviour,
350
+ * and what the golden dataset spec pins down.
351
+ */
352
+ export function interpolateDatasetTitle(template, row, index) {
353
+ // No token: Japa returns the title unchanged and repeats it for every row.
354
+ // helix used to append ` (row N)` to keep them distinct; that made titles a
355
+ // reporter shows — and `--tests` never matched on, since filtering reads the
356
+ // declared name — differ from Japa's for the same spec.
357
+ if (!/\{[^}]+\}/.test(template))
358
+ return template;
359
+ return template.replace(/\{([^}]+)\}/g, (match, tokenRaw) => {
360
+ const token = tokenRaw.trim();
361
+ if (token === "$i")
362
+ return String(index + 1);
363
+ if (token === "$self") {
364
+ return typeof row === "object" && row !== null
365
+ ? safeStringify(row)
366
+ : String(row);
367
+ }
368
+ // Dotted property path against an object row.
369
+ let cursor = row;
370
+ for (const part of token.split(".")) {
371
+ if (cursor && typeof cursor === "object" && part in cursor) {
372
+ cursor = Reflect.get(cursor, part);
373
+ }
374
+ else {
375
+ return match; // leave unknown tokens verbatim
376
+ }
377
+ }
378
+ if (typeof cursor === "object" && cursor !== null)
379
+ return safeStringify(cursor);
380
+ return String(cursor);
381
+ });
382
+ }
221
383
  const describeFn = ((name, fn) => registerSuite(name, "run", fn));
222
384
  describeFn.skip = (name, fn) => registerSuite(name, "skip", fn);
223
385
  describeFn.only = (name, fn) => registerSuite(name, "only", fn);
224
386
  describeFn.todo = (name) => registerSuite(name, "todo", () => { });
225
- const testFn = ((name, fn, options) => makeHandle(registerTest(name, "run", fn, normaliseTestOptions(options))));
387
+ const testFn = ((name, fn, options) => {
388
+ // No body → `todo` (Japa parity). A dataset body added later via
389
+ // `.with(...).run(fn)` promotes it back to a runnable test.
390
+ const mode = fn === undefined ? "todo" : "run";
391
+ return makeHandle(registerTest(name, mode, fn, normaliseTestOptions(options)));
392
+ });
226
393
  testFn.skip = (name, fn) => {
227
394
  registerTest(name, "skip", fn);
228
395
  };
@@ -241,6 +408,90 @@ testFn.each = (rows) => {
241
408
  });
242
409
  };
243
410
  };
411
+ testFn.group = (name, fn) => {
412
+ // Japa forbids nested groups (grouping-tests docs) — a group inside a group
413
+ // is a structural error, not a supported nesting.
414
+ for (let ancestor = current(); ancestor !== undefined; ancestor = ancestor.parent) {
415
+ if (ancestor.isGroup) {
416
+ throw new Error(`test.group("${name}") cannot be nested inside group "${ancestor.name}" — Japa does not allow nested groups.`);
417
+ }
418
+ }
419
+ // A group IS a suite. Build ONE instance that is the body handle, the value
420
+ // returned, AND the `self` the group's hooks receive (Japa `self === group`).
421
+ // Its hook methods attach to THIS active suite via `addHook`.
422
+ let instance;
423
+ registerSuite(name, "run", () => {
424
+ const suite = current();
425
+ suite.isGroup = true;
426
+ // Dotted full name from the suite chain (matching the runtime `joinName`
427
+ // separator); computed HERE where `suite` is the group's own node.
428
+ const ancestorNames = [];
429
+ for (let a = suite; a !== undefined; a = a.parent) {
430
+ if (a.name)
431
+ ancestorNames.unshift(a.name);
432
+ }
433
+ const taps = [];
434
+ const group = {
435
+ title: name,
436
+ fullName: ancestorNames.join(" > "),
437
+ setup: (hookFn) => addHook("beforeAll", hookFn),
438
+ teardown: (hookFn) => addHook("afterAll", hookFn),
439
+ each: {
440
+ setup: (hookFn) => addHook("beforeEach", hookFn),
441
+ teardown: (hookFn) => addHook("afterEach", hookFn),
442
+ timeout: (ms) => {
443
+ suite.eachTimeout = ms;
444
+ },
445
+ disableTimeout: () => {
446
+ suite.eachTimeout = 0;
447
+ },
448
+ retry: (n) => {
449
+ suite.eachRetries = n;
450
+ },
451
+ },
452
+ tap: (tapFn) => taps.push(tapFn),
453
+ };
454
+ suite.groupInstance = group;
455
+ instance = group;
456
+ fn(group);
457
+ // Apply `tap` callbacks to every test registered directly in this group,
458
+ // regardless of whether tap() was called before or after them.
459
+ if (taps.length > 0) {
460
+ for (const child of suite.children) {
461
+ if (child.kind === "test") {
462
+ const handle = makeTapHandle(child);
463
+ for (const tapFn of taps)
464
+ tapFn(handle);
465
+ }
466
+ }
467
+ }
468
+ });
469
+ // `registerSuite` ran the body synchronously, so `instance` is set.
470
+ if (instance === undefined) {
471
+ throw new Error(`internal: group("${name}") instance was not built`);
472
+ }
473
+ return instance;
474
+ };
475
+ testFn.macro = (callback) => {
476
+ return (...args) => {
477
+ const t = getFrameTest();
478
+ if (t === undefined) {
479
+ throw new Error("test.macro(...): the returned function must be invoked inside a running test.");
480
+ }
481
+ return callback(t, ...args);
482
+ };
483
+ };
484
+ /**
485
+ * Class-level extension surface (Japa `Test.macro`). Registers a named method
486
+ * available on every test handle; `this` inside it is the handle, so it can
487
+ * chain (`Test.macro('slow', function () { this.tags(['@slow']); return this })`).
488
+ * Pair with a `declare module` augmentation for the types.
489
+ */
490
+ export const Test = {
491
+ macro(name, fn) {
492
+ handleMacros.set(name, fn);
493
+ },
494
+ };
244
495
  export const describe = describeFn;
245
496
  export const test = testFn;
246
497
  export const it = testFn;
@@ -1 +1 @@
1
- {"version":3,"file":"suite.js","sourceRoot":"","sources":["../../src/runtime/suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suite.js","sourceRoot":"","sources":["../../src/runtime/suite.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,13 @@
12
12
  * - reverse insertion order
13
13
  * - one cleanup throwing must not block the others
14
14
  */
15
- export type TestCleanup = () => void | Promise<void>;
15
+ import type { TestInstance } from "./suite.js";
16
+ /**
17
+ * A per-test teardown. Receives `(hasError, test)` (Japa parity): whether the
18
+ * test failed, and the running test's instance. Both params are optional so
19
+ * plain `() => …` cleanups stay valid.
20
+ */
21
+ export type TestCleanup = (hasError?: boolean, test?: TestInstance) => void | Promise<void>;
16
22
  /** Per-test assertion bookkeeping (drives `expect.assertions`/`hasAssertions`). */
17
23
  export interface AssertionState {
18
24
  /** Number of `expect(...)` matcher invocations observed this test. */
@@ -31,6 +37,22 @@ export declare function withTestContext<T>(body: () => Promise<T>): Promise<T>;
31
37
  */
32
38
  export declare function registerTestCleanup(cleanup: TestCleanup): boolean;
33
39
  export declare function inTestContext(): boolean;
40
+ /** Attach the running test's instance to the active frame (for `ctx.test` + cleanups). */
41
+ export declare function setFrameTest(test: TestInstance): void;
42
+ /**
43
+ * Read the running test's instance from the active frame — the `t` handed to a
44
+ * Japa resource macro (`test.macro((t, …) => …)`). Undefined outside a test.
45
+ */
46
+ export declare function getFrameTest(): TestInstance | undefined;
47
+ /** The running test, or `undefined` outside one (Japa `getActiveTest`). */
48
+ export declare function getActiveTest(): TestInstance | undefined;
49
+ /**
50
+ * The running test, or a thrown error outside one — Japa's
51
+ * `getActiveTestOrFail`, the guard a plugin uses before touching test state.
52
+ */
53
+ export declare function getActiveTestOrFail(): TestInstance;
54
+ /** Record whether the test errored — read by the cleanup/outcome drains. */
55
+ export declare function setFrameOutcome(hadError: boolean): void;
34
56
  /**
35
57
  * Register a callback to run once the current test finishes, regardless of
36
58
  * pass/fail. Mirrors Vitest's `onTestFinished`. Returns `false` when called
@@ -52,8 +74,32 @@ export declare function onTestFinished(cb: TestCleanup): void;
52
74
  * Vitest-compatible public name for {@link registerOnTestFailed}.
53
75
  */
54
76
  export declare function onTestFailed(cb: TestCleanup): void;
55
- /** Drain the `onTestFinished`/`onTestFailed` callbacks for the current frame. */
56
- export declare function drainTestOutcomeHooks(failed: boolean): Promise<void>;
77
+ /**
78
+ * Callbacks registered for EVERY test of the run (Japa `Test.executed`). Japa
79
+ * plugins use it to check after each test that something held — `@japa/assert`
80
+ * validates its planned-assertion count there.
81
+ */
82
+ type ExecutedHook = (test: {
83
+ options: unknown;
84
+ context: unknown;
85
+ }, hasError: boolean) => void | Promise<void>;
86
+ /** Register a per-test hook for the whole run (Japa `Test.executed`). */
87
+ export declare function registerExecutedHook(fn: ExecutedHook): void;
88
+ /** Test seam: drop every registered `executed` hook. */
89
+ export declare function resetExecutedHooks(): void;
90
+ /** Attach the injected context to the current frame. */
91
+ export declare function setFrameContext(context: unknown): void;
92
+ /**
93
+ * Drain the `onTestFinished`/`onTestFailed` callbacks for the current frame,
94
+ * then the run-wide `Test.executed` hooks.
95
+ *
96
+ * Returns what an `executed` hook threw, if one did. That hook IS a verdict —
97
+ * `@japa/assert` validates `assert.plan(n)` there and throws when the count is
98
+ * wrong — so swallowing it would let a plugin's whole reason for existing pass
99
+ * green. The frame's own callbacks keep being logged rather than thrown: they
100
+ * are teardown, and a broken one must not invent a failure.
101
+ */
102
+ export declare function drainTestOutcomeHooks(failed: boolean): Promise<unknown>;
57
103
  /** Increment the assertion counter for the active test (no-op outside a test). */
58
104
  export declare function recordAssertion(): void;
59
105
  /** Declare that the current test must make exactly `n` assertions. */
@@ -62,4 +108,5 @@ export declare function setExpectedAssertions(n: number): void;
62
108
  export declare function setHasAssertions(): void;
63
109
  /** Read the assertion state of the active frame, if any. */
64
110
  export declare function getAssertionState(): AssertionState | undefined;
111
+ export {};
65
112
  //# sourceMappingURL=test-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-context.d.ts","sourceRoot":"","sources":["../../src/runtime/test-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErD,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC9B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,wEAAwE;IACxE,aAAa,EAAE,OAAO,CAAC;CACvB;AAaD,wBAAsB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAqB3E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAKjE;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAK/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAK7D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAEpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAElD;AAED,iFAAiF;AACjF,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB1E;AAED,kFAAkF;AAClF,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D"}
1
+ {"version":3,"file":"test-context.d.ts","sourceRoot":"","sources":["../../src/runtime/test-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CACzB,QAAQ,CAAC,EAAE,OAAO,EAClB,IAAI,CAAC,EAAE,YAAY,KACf,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC9B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,wEAAwE;IACxE,aAAa,EAAE,OAAO,CAAC;CACvB;AAmBD,wBAAsB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAwB3E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAKjE;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAGrD;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,YAAY,GAAG,SAAS,CAEvD;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,IAAI,YAAY,GAAG,SAAS,CAExD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,CAQlD;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAK/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAK7D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAEpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAElD;AAED;;;;GAIG;AACH,KAAK,YAAY,GAAG,CACnB,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EAC5C,QAAQ,EAAE,OAAO,KACb,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAI1B,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAE3D;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGtD;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoC7E;AAED,kFAAkF;AAClF,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D"}
@@ -20,6 +20,9 @@ export async function withTestContext(body) {
20
20
  onFinished: [],
21
21
  onFailed: [],
22
22
  assertions: { count: 0, expected: undefined, hasAssertions: false },
23
+ test: undefined,
24
+ context: undefined,
25
+ hadError: false,
23
26
  };
24
27
  try {
25
28
  return await storage.run(frame, body);
@@ -27,7 +30,7 @@ export async function withTestContext(body) {
27
30
  finally {
28
31
  for (let i = frame.cleanups.length - 1; i >= 0; i -= 1) {
29
32
  try {
30
- await frame.cleanups[i]();
33
+ await frame.cleanups[i](frame.hadError, frame.test);
31
34
  }
32
35
  catch (err) {
33
36
  // One cleanup failing must not block the others — but log it
@@ -54,6 +57,40 @@ export function registerTestCleanup(cleanup) {
54
57
  export function inTestContext() {
55
58
  return storage.getStore() !== undefined;
56
59
  }
60
+ /** Attach the running test's instance to the active frame (for `ctx.test` + cleanups). */
61
+ export function setFrameTest(test) {
62
+ const frame = storage.getStore();
63
+ if (frame)
64
+ frame.test = test;
65
+ }
66
+ /**
67
+ * Read the running test's instance from the active frame — the `t` handed to a
68
+ * Japa resource macro (`test.macro((t, …) => …)`). Undefined outside a test.
69
+ */
70
+ export function getFrameTest() {
71
+ return storage.getStore()?.test;
72
+ }
73
+ /** The running test, or `undefined` outside one (Japa `getActiveTest`). */
74
+ export function getActiveTest() {
75
+ return getFrameTest();
76
+ }
77
+ /**
78
+ * The running test, or a thrown error outside one — Japa's
79
+ * `getActiveTestOrFail`, the guard a plugin uses before touching test state.
80
+ */
81
+ export function getActiveTestOrFail() {
82
+ const test = getFrameTest();
83
+ if (test === undefined) {
84
+ throw new Error("getActiveTestOrFail(): no test is running. Call it from inside a test body, a hook, or a resource macro.");
85
+ }
86
+ return test;
87
+ }
88
+ /** Record whether the test errored — read by the cleanup/outcome drains. */
89
+ export function setFrameOutcome(hadError) {
90
+ const frame = storage.getStore();
91
+ if (frame)
92
+ frame.hadError = hadError;
93
+ }
57
94
  /**
58
95
  * Register a callback to run once the current test finishes, regardless of
59
96
  * pass/fail. Mirrors Vitest's `onTestFinished`. Returns `false` when called
@@ -91,17 +128,41 @@ export function onTestFinished(cb) {
91
128
  export function onTestFailed(cb) {
92
129
  registerOnTestFailed(cb);
93
130
  }
94
- /** Drain the `onTestFinished`/`onTestFailed` callbacks for the current frame. */
131
+ const executedHooks = [];
132
+ /** Register a per-test hook for the whole run (Japa `Test.executed`). */
133
+ export function registerExecutedHook(fn) {
134
+ executedHooks.push(fn);
135
+ }
136
+ /** Test seam: drop every registered `executed` hook. */
137
+ export function resetExecutedHooks() {
138
+ executedHooks.length = 0;
139
+ }
140
+ /** Attach the injected context to the current frame. */
141
+ export function setFrameContext(context) {
142
+ const frame = storage.getStore();
143
+ if (frame)
144
+ frame.context = context;
145
+ }
146
+ /**
147
+ * Drain the `onTestFinished`/`onTestFailed` callbacks for the current frame,
148
+ * then the run-wide `Test.executed` hooks.
149
+ *
150
+ * Returns what an `executed` hook threw, if one did. That hook IS a verdict —
151
+ * `@japa/assert` validates `assert.plan(n)` there and throws when the count is
152
+ * wrong — so swallowing it would let a plugin's whole reason for existing pass
153
+ * green. The frame's own callbacks keep being logged rather than thrown: they
154
+ * are teardown, and a broken one must not invent a failure.
155
+ */
95
156
  export async function drainTestOutcomeHooks(failed) {
96
157
  const frame = storage.getStore();
97
158
  if (!frame)
98
- return;
159
+ return undefined;
99
160
  // `onTestFailed` first (diagnostics), then `onTestFinished` — both in
100
161
  // reverse insertion order to mirror Vitest teardown semantics.
101
162
  if (failed) {
102
163
  for (let i = frame.onFailed.length - 1; i >= 0; i -= 1) {
103
164
  try {
104
- await frame.onFailed[i]();
165
+ await frame.onFailed[i](failed, frame.test);
105
166
  }
106
167
  catch (err) {
107
168
  console.error("[helix] onTestFailed callback threw:", err);
@@ -110,12 +171,29 @@ export async function drainTestOutcomeHooks(failed) {
110
171
  }
111
172
  for (let i = frame.onFinished.length - 1; i >= 0; i -= 1) {
112
173
  try {
113
- await frame.onFinished[i]();
174
+ await frame.onFinished[i](failed, frame.test);
114
175
  }
115
176
  catch (err) {
116
177
  console.error("[helix] onTestFinished callback threw:", err);
117
178
  }
118
179
  }
180
+ // Run-wide hooks last, so a plugin checking an invariant sees the state the
181
+ // test's own callbacks left behind. The FIRST throw is the verdict; the rest
182
+ // still run, so one plugin's failure does not hide another's.
183
+ let verdict;
184
+ if (frame.test !== undefined) {
185
+ const view = { options: frame.test.options, context: frame.context };
186
+ for (const hook of executedHooks) {
187
+ try {
188
+ await hook(view, failed);
189
+ }
190
+ catch (err) {
191
+ if (verdict === undefined)
192
+ verdict = err;
193
+ }
194
+ }
195
+ }
196
+ return verdict;
119
197
  }
120
198
  /** Increment the assertion counter for the active test (no-op outside a test). */
121
199
  export function recordAssertion() {
@@ -1 +1 @@
1
- {"version":3,"file":"test-context.js","sourceRoot":"","sources":["../../src/runtime/test-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-context.js","sourceRoot":"","sources":["../../src/runtime/test-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/runtime/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,KAAK,cAAc,EAAe,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAI7E,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAuFD,wBAAsB,WAAW,CAChC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAC,UAAU,CAAC,CA2BrB;AA4DD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA0D1C"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/runtime/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAAE,KAAK,cAAc,EAAe,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAK7E,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAuFD,wBAAsB,WAAW,CAChC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAC,UAAU,CAAC,CA6ErB;AAgED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA0D1C"}