@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.
- package/README.md +274 -5
- package/bin/helix.js +312 -13
- package/dist/cli/failed-cache.d.ts +27 -0
- package/dist/cli/failed-cache.d.ts.map +1 -0
- package/dist/cli/failed-cache.js +64 -0
- package/dist/cli/failed-cache.js.map +1 -0
- package/dist/cli/glob.d.ts +36 -0
- package/dist/cli/glob.d.ts.map +1 -0
- package/dist/cli/glob.js +185 -0
- package/dist/cli/glob.js.map +1 -0
- package/dist/cli/native.d.ts +4 -0
- package/dist/cli/native.d.ts.map +1 -1
- package/dist/cli/native.js.map +1 -1
- package/dist/cli/pool.d.ts +11 -0
- package/dist/cli/pool.d.ts.map +1 -1
- package/dist/cli/pool.js +12 -0
- package/dist/cli/pool.js.map +1 -1
- package/dist/cli/reporter.d.ts +11 -0
- package/dist/cli/reporter.d.ts.map +1 -1
- package/dist/cli/reporter.js +53 -0
- package/dist/cli/reporter.js.map +1 -1
- package/dist/cli/run.d.ts +41 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +181 -21
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/runner.d.ts +19 -0
- package/dist/cli/runner.d.ts.map +1 -0
- package/dist/cli/runner.js +15 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli/suites.d.ts +102 -0
- package/dist/cli/suites.d.ts.map +1 -0
- package/dist/cli/suites.js +226 -0
- package/dist/cli/suites.js.map +1 -0
- package/dist/index.d.ts +10 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/japa/core.d.ts +106 -0
- package/dist/japa/core.d.ts.map +1 -0
- package/dist/japa/core.js +128 -0
- package/dist/japa/core.js.map +1 -0
- package/dist/runtime/assert.d.ts +174 -0
- package/dist/runtime/assert.d.ts.map +1 -0
- package/dist/runtime/assert.js +591 -0
- package/dist/runtime/assert.js.map +1 -0
- package/dist/runtime/bootstrap.d.ts +47 -0
- package/dist/runtime/bootstrap.d.ts.map +1 -0
- package/dist/runtime/bootstrap.js +166 -0
- package/dist/runtime/bootstrap.js.map +1 -0
- package/dist/runtime/cli-args.d.ts +77 -0
- package/dist/runtime/cli-args.d.ts.map +1 -0
- package/dist/runtime/cli-args.js +85 -0
- package/dist/runtime/cli-args.js.map +1 -0
- package/dist/runtime/configure.d.ts +214 -0
- package/dist/runtime/configure.d.ts.map +1 -0
- package/dist/runtime/configure.js +164 -0
- package/dist/runtime/configure.js.map +1 -0
- package/dist/runtime/context.d.ts +84 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +146 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/emitter.d.ts +141 -0
- package/dist/runtime/emitter.d.ts.map +1 -0
- package/dist/runtime/emitter.js +79 -0
- package/dist/runtime/emitter.js.map +1 -0
- package/dist/runtime/global-hooks.d.ts +31 -0
- package/dist/runtime/global-hooks.d.ts.map +1 -0
- package/dist/runtime/global-hooks.js +126 -0
- package/dist/runtime/global-hooks.js.map +1 -0
- package/dist/runtime/index.d.ts +14 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +7 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/run.d.ts +49 -2
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +618 -94
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runner.d.ts +97 -0
- package/dist/runtime/runner.d.ts.map +1 -0
- package/dist/runtime/runner.js +160 -0
- package/dist/runtime/runner.js.map +1 -0
- package/dist/runtime/suite-config.d.ts +23 -0
- package/dist/runtime/suite-config.d.ts.map +1 -0
- package/dist/runtime/suite-config.js +52 -0
- package/dist/runtime/suite-config.js.map +1 -0
- package/dist/runtime/suite-taps.d.ts +122 -0
- package/dist/runtime/suite-taps.d.ts.map +1 -0
- package/dist/runtime/suite-taps.js +218 -0
- package/dist/runtime/suite-taps.js.map +1 -0
- package/dist/runtime/suite.d.ts +277 -8
- package/dist/runtime/suite.d.ts.map +1 -1
- package/dist/runtime/suite.js +255 -4
- package/dist/runtime/suite.js.map +1 -1
- package/dist/runtime/test-context.d.ts +50 -3
- package/dist/runtime/test-context.d.ts.map +1 -1
- package/dist/runtime/test-context.js +83 -5
- package/dist/runtime/test-context.js.map +1 -1
- package/dist/runtime/worker.d.ts.map +1 -1
- package/dist/runtime/worker.js +85 -28
- package/dist/runtime/worker.js.map +1 -1
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +8 -1
package/dist/runtime/suite.js
CHANGED
|
@@ -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(
|
|
100
|
-
|
|
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) =>
|
|
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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AAiQnE,SAAS,SAAS,CACjB,IAAY,EACZ,IAAa,EACb,MAA6B;IAE7B,OAAO;QACN,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;KACT,CAAC;AACH,CAAC;AA0BD,SAAS,QAAQ;IAChB,IAAI,CAAC,GAAG,UAAU,CAAC,yBAAyB,CAAC;IAC7C,IAAI,CAAC,CAAC,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC,GAAG;YACH,OAAO,EAAE,IAAI,iBAAiB,EAAqB;YACnD,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,CAAC,IAAI,CAAC;SACrB,CAAC;QACF,UAAU,CAAC,yBAAyB,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,cAAc;IACtB,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACpC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,SAAS;IACxB,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrB,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,YAAY,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO;IACtB,OAAO,cAAc,EAAE,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,IAAgC;IAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IACvD,MAAM,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,OAAO;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CACpB,IAAY,EACZ,IAAa,EACb,EAAsB,EACtB,OAAqB;IAErB,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,MAAM,IAAI,GAAa;QACtB,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,MAAM;QACN,OAAO,EAAE,OAAO,EAAE,KAAK;QACvB,SAAS,EAAE,OAAO,EAAE,OAAO;QAC3B,IAAI,EAAE,OAAO,EAAE,IAAI;QACnB,OAAO,EAAE,OAAO,EAAE,KAAK;KACvB,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACb,CAAC;AAED,qFAAqF;AACrF,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;AAEJ,iEAAiE;AACjE,SAAS,UAAU,CAAC,IAAc;IACjC,MAAM,MAAM,GAAe;QAC1B,KAAK,CAAC,CAAS;YACd,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,CAAC,EAAU;YACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,cAAc;YACb,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAuB,EAAE,WAAwB,SAAS;YAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI;gBACR,QAAQ,KAAK,QAAQ;oBACpB,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;oBAC5B,CAAC,CAAC,QAAQ,KAAK,SAAS;wBACvB,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;wBAC5B,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,KAAK,CAAC,MAAe;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/C,OAAO,MAAM,CAAC;QACf,CAAC;QACD,KAAK,CAAC,EAAU;YACf,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,QAAQ,CAAC,EAAU;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,GAAG;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,qEAAqE;YACrE,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;gBAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YAC5C,OAAO,MAAM,CAAC;QACf,CAAC;QACD,IAAI,CACH,YAA0D,IAAI,EAC9D,MAAe;YAEf,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBACrC,sEAAsE;gBACtE,iDAAiD;gBACjD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,IAAI,MAAM,KAAK,SAAS;oBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAChD,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;gBACnB,IAAI,MAAM,KAAK,SAAS;oBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAChD,CAAC;YACD,OAAO,MAAM,CAAC;QACf,CAAC;QACD,WAAW;YACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,MAAM,CAAC;QACf,CAAC;QACD,IAAI,CAAM,IAAwB;YACjC,6EAA6E;YAC7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,wEAAwE;YACxE,yEAAyE;YACzE,0EAA0E;YAC1E,2CAA2C;YAC3C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;YAC5B,CAAC;YACD,uEAAuE;YACvE,mDAAmD;YACnD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;YACpB,MAAM,aAAa,GAAuB;gBACzC,GAAG,CAAC,EAAE;oBACL,sEAAsE;oBACtE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;wBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBAC5C,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;oBACpB,OAAO,MAAM,CAAC;gBACf,CAAC;aACD,CAAC;YACF,OAAO,aAAa,CAAC;QACtB,CAAC;KACD,CAAC;IACF,8EAA8E;IAC9E,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;YACnC,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;YACrD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAc;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAe;QAC3B,IAAI,KAAK;YACR,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,KAAK,CAAC,CAAS;YAClB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACf,CAAC;QACD,IAAI,IAAI;YACP,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,CAAW;YACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACf,CAAC;QACD,IAAI,OAAO;YACV,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,CAAC,CAAqB;YAChC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,OAAO;YACV,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,CAAqB;YAChC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAClB,CAAC;KACD,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,2EAA2E;AAC3E,SAAS,oBAAoB,CAC5B,gBAAkD;IAElD,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,gBAAgB,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAa,EAAE,IAAa;IAChE,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,EAAE,CAAC;IACjB,CAAC;YAAS,CAAC;QACV,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;IACD,wEAAwE;IACxE,uEAAuE;IACvE,gDAAgD;IAChD,IAAI,MAAM,IAAI,OAAQ,MAA6B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACd,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gHAAgH,CAChJ,CAAC;IACH,CAAC;AACF,CAAC;AA4HD,SAAS,aAAa,CAAC,CAAU;IAChC,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,2BAA2B;QAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAChC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,mBAAmB,CAC3B,QAAgB,EAChB,GAAa,EACb,KAAa;IAEb,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACV,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClB,GAAG,IAAI,GAAG,CAAC;YACX,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACV,CAAC;QACD,IACC,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG,EACX,CAAC;YACF,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,IAAI,CAAC,CAAC;YACP,GAAG,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACV,CAAC;QACD,GAAG,IAAI,CAAC,CAAC;IACV,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,oBAAoB,CAC5B,QAAgB,EAChB,GAAc,EACd,KAAa;IAEb,OAAO,QAAQ;SACb,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9B,OAAO,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAY,GAAG,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;gBACzD,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACP,OAAO,WAAW,CAAC;YACpB,CAAC;QACF,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAChD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CACvB,QAAgB,EAChB,GAAY,EACZ,KAAa;IAEb,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,OAAO,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACxE,4EAA4E;IAC5E,uCAAuC;IACvC,OAAO,GAAG,QAAQ,KAAK,KAAK,GAAG,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACtC,QAAgB,EAChB,GAAY,EACZ,KAAa;IAEb,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,wDAAwD;IACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;QACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;gBAC7C,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;gBACpB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,8CAA8C;QAC9C,IAAI,MAAM,GAAY,GAAG,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC5D,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACP,OAAO,KAAK,CAAC,CAAC,gCAAgC;YAC/C,CAAC;QACF,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAChD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAC,IAAY,EAAE,EAAW,EAAE,EAAE,CACjD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAa,CAAC;AAC7C,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAChE,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAChE,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAElE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAY,EAAE,EAAW,EAAE,OAA8B,EAAE,EAAE;IAC7E,iEAAiE;IACjE,4DAA4D;IAC5D,MAAM,IAAI,GAAY,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,UAAU,CAChB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAC3D,CAAC;AACH,CAAC,CAAY,CAAC;AACd,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;IAC1B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC,CAAC;AACF,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,OAA8B,EAAE,EAAE,CAC1D,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3E,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE;IACtB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC,CAAC;AACF,MAAM,CAAC,IAAI,GAAG,CAAsB,IAAmB,EAAE,EAAE;IAC1D,OAAO,CAAC,IAAY,EAAE,EAAsC,EAAE,EAAE;QAC/D,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACvD,YAAY,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC,CAAC;AACF,MAAM,CAAC,KAAK,GAAG,CAAC,IAAY,EAAE,EAA0B,EAAS,EAAE;IAClE,4EAA4E;IAC5E,kDAAkD;IAClD,KACC,IAAI,QAAQ,GAA0B,OAAO,EAAE,EAC/C,QAAQ,KAAK,SAAS,EACtB,QAAQ,GAAG,QAAQ,CAAC,MAAM,EACzB,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACd,eAAe,IAAI,qCAAqC,QAAQ,CAAC,IAAI,wCAAwC,CAC7G,CAAC;QACH,CAAC;IACF,CAAC;IACD,4EAA4E;IAC5E,8EAA8E;IAC9E,8DAA8D;IAC9D,IAAI,QAA2B,CAAC;IAChC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAA0B,KAAK,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1E,IAAI,CAAC,CAAC,IAAI;gBAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,GAAqC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAU;YACpB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;YAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;YACjD,IAAI,EAAE;gBACL,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;gBAChD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;gBAClD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;oBACf,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;gBACxB,CAAC;gBACD,cAAc,EAAE,GAAG,EAAE;oBACpB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;oBACZ,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;gBACvB,CAAC;aACD;YACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;SAChC,CAAC;QACF,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC5B,QAAQ,GAAG,KAAK,CAAC;QACjB,EAAE,CAAC,KAAK,CAAC,CAAC;QACV,yEAAyE;QACzE,+DAA+D;QAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACpC,KAAK,MAAM,KAAK,IAAI,IAAI;wBAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;IACH,oEAAoE;IACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,2BAA2B,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,GAAG,CACd,QAAkD,EACzB,EAAE;IAC3B,OAAO,CAAC,GAAG,IAAU,EAAK,EAAE;QAC3B,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACd,+EAA+E,CAC/E,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAKb;IACH,KAAK,CAAC,IAAI,EAAE,EAAE;QACb,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAa,UAAU,CAAC;AAC7C,MAAM,CAAC,MAAM,IAAI,GAAY,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,EAAE,GAAY,MAAM,CAAC;AAElC,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,EAAU;IACjD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -12,7 +12,13 @@
|
|
|
12
12
|
* - reverse insertion order
|
|
13
13
|
* - one cleanup throwing must not block the others
|
|
14
14
|
*/
|
|
15
|
-
|
|
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
|
-
/**
|
|
56
|
-
|
|
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;
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
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;
|
|
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"}
|