@wp-tester/results 0.0.4 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/diff-utils.d.ts +27 -0
- package/dist/diff-utils.d.ts.map +1 -0
- package/dist/diff-utils.js +116 -0
- package/dist/diff-utils.js.map +1 -0
- package/dist/diff-utils.spec.d.ts +5 -0
- package/dist/diff-utils.spec.d.ts.map +1 -0
- package/dist/diff-utils.spec.js +85 -0
- package/dist/diff-utils.spec.js.map +1 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/merge.d.ts.map +1 -1
- package/dist/merge.js +21 -2
- package/dist/merge.js.map +1 -1
- package/dist/merge.spec.js +230 -0
- package/dist/merge.spec.js.map +1 -1
- package/dist/phpunit-streaming-reporter.d.ts +19 -0
- package/dist/phpunit-streaming-reporter.d.ts.map +1 -0
- package/dist/phpunit-streaming-reporter.js +26 -0
- package/dist/phpunit-streaming-reporter.js.map +1 -0
- package/dist/spinner.d.ts +20 -0
- package/dist/spinner.d.ts.map +1 -0
- package/dist/spinner.js +36 -0
- package/dist/spinner.js.map +1 -0
- package/dist/streaming.d.ts +36 -0
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +253 -51
- package/dist/streaming.js.map +1 -1
- package/dist/streaming.spec.js +115 -2
- package/dist/streaming.spec.js.map +1 -1
- package/dist/summary.d.ts +12 -1
- package/dist/summary.d.ts.map +1 -1
- package/dist/summary.js +40 -6
- package/dist/summary.js.map +1 -1
- package/dist/teamcity-parser.d.ts.map +1 -1
- package/dist/teamcity-parser.js +19 -1
- package/dist/teamcity-parser.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest-streaming-reporter.d.ts +3 -3
- package/dist/vitest-streaming-reporter.d.ts.map +1 -1
- package/dist/vitest-streaming-reporter.js +65 -4
- package/dist/vitest-streaming-reporter.js.map +1 -1
- package/dist/vitest-streaming.d.ts +19 -0
- package/dist/vitest-streaming.d.ts.map +1 -0
- package/dist/vitest-streaming.js +28 -0
- package/dist/vitest-streaming.js.map +1 -0
- package/package.json +1 -1
package/dist/streaming.js
CHANGED
|
@@ -8,10 +8,8 @@
|
|
|
8
8
|
* parallel test execution without output interference.
|
|
9
9
|
*/
|
|
10
10
|
import pc from "picocolors";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*/
|
|
14
|
-
const SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
11
|
+
import { applyDiffHighlighting } from "./diff-utils.js";
|
|
12
|
+
import { SPINNER_FRAMES } from "./spinner.js";
|
|
15
13
|
/**
|
|
16
14
|
* Default stdout writer
|
|
17
15
|
*/
|
|
@@ -55,6 +53,14 @@ export class StreamingReporter {
|
|
|
55
53
|
this.showRunBoundaries = options.showRunBoundaries ?? true;
|
|
56
54
|
this.showSummary = options.showSummary ?? true;
|
|
57
55
|
this.enabled = options.enabled ?? true;
|
|
56
|
+
// Default filter: show all statuses (for backwards compatibility)
|
|
57
|
+
this.filter = options.filter ?? {
|
|
58
|
+
passed: true,
|
|
59
|
+
failed: true,
|
|
60
|
+
skipped: true,
|
|
61
|
+
pending: true,
|
|
62
|
+
other: true,
|
|
63
|
+
};
|
|
58
64
|
this.state = {
|
|
59
65
|
files: new Map(),
|
|
60
66
|
toolName: "wp-tester",
|
|
@@ -63,8 +69,17 @@ export class StreamingReporter {
|
|
|
63
69
|
passedTests: 0,
|
|
64
70
|
failedTests: 0,
|
|
65
71
|
skippedTests: 0,
|
|
72
|
+
pendingTests: 0,
|
|
73
|
+
isRunning: false,
|
|
66
74
|
};
|
|
67
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Generate filter command for re-running a specific test
|
|
78
|
+
* Override in subclasses for framework-specific behavior
|
|
79
|
+
*/
|
|
80
|
+
getFilterCommand(_testName, _suiteName) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
68
83
|
/**
|
|
69
84
|
* Enable or disable run boundaries (header and summary)
|
|
70
85
|
*/
|
|
@@ -154,7 +169,8 @@ export class StreamingReporter {
|
|
|
154
169
|
let hasRunningTests = false;
|
|
155
170
|
for (const file of this.state.files.values()) {
|
|
156
171
|
for (const suite of file.suites) {
|
|
157
|
-
if (suite.isLoading ||
|
|
172
|
+
if (suite.isLoading ||
|
|
173
|
+
suite.tests.some((t) => t.status === "running")) {
|
|
158
174
|
hasRunningTests = true;
|
|
159
175
|
break;
|
|
160
176
|
}
|
|
@@ -180,22 +196,66 @@ export class StreamingReporter {
|
|
|
180
196
|
this.stopSpinner();
|
|
181
197
|
}
|
|
182
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Check if a suite or any of its descendants has visible content
|
|
201
|
+
*/
|
|
202
|
+
hasVisibleContent(file, suiteIndex) {
|
|
203
|
+
const suite = file.suites[suiteIndex];
|
|
204
|
+
// Check if suite is loading (always visible during loading)
|
|
205
|
+
if (suite.isLoading && suite.tests.length === 0) {
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
208
|
+
// Check if suite has any visible tests
|
|
209
|
+
const hasVisibleTests = suite.tests.some(test => this.shouldShowStatus(test.status));
|
|
210
|
+
if (hasVisibleTests) {
|
|
211
|
+
return true;
|
|
212
|
+
}
|
|
213
|
+
// Check if any child suites (with depth > current depth) have visible content
|
|
214
|
+
const currentDepth = suite.depth;
|
|
215
|
+
for (let i = suiteIndex + 1; i < file.suites.length; i++) {
|
|
216
|
+
const nextSuite = file.suites[i];
|
|
217
|
+
// If we've returned to the same or lower depth, we've exited the children
|
|
218
|
+
if (nextSuite.depth <= currentDepth) {
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
// Only check immediate children (depth = current + 1)
|
|
222
|
+
if (nextSuite.depth === currentDepth + 1) {
|
|
223
|
+
if (this.hasVisibleContent(file, i)) {
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
183
230
|
/**
|
|
184
231
|
* Render a file's tests to output lines
|
|
185
232
|
*/
|
|
186
233
|
renderFile(file, lines) {
|
|
187
|
-
for (
|
|
188
|
-
this.renderSuite(
|
|
234
|
+
for (let i = 0; i < file.suites.length; i++) {
|
|
235
|
+
this.renderSuite(file, i, lines);
|
|
189
236
|
}
|
|
190
237
|
}
|
|
191
238
|
/**
|
|
192
239
|
* Render a suite and its tests
|
|
193
240
|
*/
|
|
194
|
-
renderSuite(
|
|
241
|
+
renderSuite(file, suiteIndex, lines) {
|
|
242
|
+
const suite = file.suites[suiteIndex];
|
|
195
243
|
const indent = " ".repeat(suite.depth);
|
|
196
244
|
// Only show spinner if suite is loading AND has no tests yet
|
|
197
245
|
// Don't show spinner if tests have been reported (loading is complete)
|
|
198
246
|
const showSpinner = suite.isLoading && suite.tests.length === 0;
|
|
247
|
+
// Collect visible tests first to determine if suite should be shown
|
|
248
|
+
const visibleTestLines = [];
|
|
249
|
+
for (const test of suite.tests) {
|
|
250
|
+
if (this.shouldShowStatus(test.status)) {
|
|
251
|
+
this.renderTest(test, suite.depth + 1, visibleTestLines);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// Check if this suite has visible content (tests or child suites with content)
|
|
255
|
+
if (!this.hasVisibleContent(file, suiteIndex)) {
|
|
256
|
+
return; // Skip rendering this suite entirely
|
|
257
|
+
}
|
|
258
|
+
// Render the suite name
|
|
199
259
|
if (showSpinner) {
|
|
200
260
|
const spinner = pc.cyan(SPINNER_FRAMES[this.spinnerFrame]);
|
|
201
261
|
lines.push(`${indent}${spinner} ${pc.bold(suite.name)}`);
|
|
@@ -204,10 +264,26 @@ export class StreamingReporter {
|
|
|
204
264
|
// Use two spaces to replace the spinner character and space, preventing text shift
|
|
205
265
|
lines.push(`${indent} ${pc.bold(suite.name)}`);
|
|
206
266
|
}
|
|
207
|
-
//
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
267
|
+
// Add the visible test lines
|
|
268
|
+
lines.push(...visibleTestLines);
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Check if a test status should be displayed based on filter settings
|
|
272
|
+
*/
|
|
273
|
+
shouldShowStatus(status) {
|
|
274
|
+
// Always show running tests (transient state)
|
|
275
|
+
if (status === "running") {
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
278
|
+
// Map status to filter property
|
|
279
|
+
const filterMap = {
|
|
280
|
+
passed: "passed",
|
|
281
|
+
failed: "failed",
|
|
282
|
+
skipped: "skipped",
|
|
283
|
+
pending: "pending",
|
|
284
|
+
};
|
|
285
|
+
const filterKey = filterMap[status];
|
|
286
|
+
return this.filter[filterKey] ?? false;
|
|
211
287
|
}
|
|
212
288
|
/**
|
|
213
289
|
* Render a single test
|
|
@@ -221,30 +297,96 @@ export class StreamingReporter {
|
|
|
221
297
|
break;
|
|
222
298
|
}
|
|
223
299
|
case "passed": {
|
|
224
|
-
const durationStr = test.duration
|
|
300
|
+
const durationStr = test.duration
|
|
301
|
+
? pc.dim(` ${formatDuration(test.duration)}`)
|
|
302
|
+
: "";
|
|
225
303
|
lines.push(`${indent}${pc.green("✓")} ${test.name}${durationStr}`);
|
|
226
304
|
break;
|
|
227
305
|
}
|
|
228
306
|
case "failed": {
|
|
229
|
-
const durationStr = test.duration
|
|
307
|
+
const durationStr = test.duration
|
|
308
|
+
? pc.dim(` ${formatDuration(test.duration)}`)
|
|
309
|
+
: "";
|
|
230
310
|
lines.push(`${indent}${pc.red("✗")} ${test.name}${durationStr}`);
|
|
231
311
|
if (test.message) {
|
|
232
312
|
const messageIndent = " ".repeat(depth + 1);
|
|
233
|
-
const
|
|
234
|
-
.
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
313
|
+
for (const line of test.message.split("\n")) {
|
|
314
|
+
lines.push(`${messageIndent}${pc.red(line)}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
if (test.trace) {
|
|
318
|
+
const traceIndent = " ".repeat(depth + 1);
|
|
319
|
+
const traceLines = test.trace.split("\n");
|
|
320
|
+
for (let i = 0; i < traceLines.length; i++) {
|
|
321
|
+
const line = traceLines[i];
|
|
322
|
+
const trimmed = line.trim();
|
|
323
|
+
// Detect Expected/Actual labels and color the values (supports multiline values)
|
|
324
|
+
if (trimmed === "Expected:" && i + 1 < traceLines.length) {
|
|
325
|
+
lines.push(`${traceIndent}${pc.dim("Expected:")}`);
|
|
326
|
+
i++; // Move to the first value line
|
|
327
|
+
// Continue processing lines until we hit Actual:, an empty line, or end of trace
|
|
328
|
+
while (i < traceLines.length) {
|
|
329
|
+
const valueLine = traceLines[i];
|
|
330
|
+
const valueTrimmed = valueLine.trim();
|
|
331
|
+
// Stop if we hit the Actual: label or empty line
|
|
332
|
+
if (valueTrimmed === "Actual:" || valueTrimmed === "") {
|
|
333
|
+
i--; // Back up so the outer loop can process this line
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
if (valueTrimmed) {
|
|
337
|
+
lines.push(`${traceIndent}${applyDiffHighlighting(valueLine, pc.red)}`);
|
|
338
|
+
}
|
|
339
|
+
i++;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
else if (trimmed === "Actual:" && i + 1 < traceLines.length) {
|
|
343
|
+
lines.push(`${traceIndent}${pc.dim("Actual:")}`);
|
|
344
|
+
i++; // Move to the first value line
|
|
345
|
+
// Continue processing lines until we hit an empty line or end of trace
|
|
346
|
+
while (i < traceLines.length) {
|
|
347
|
+
const valueLine = traceLines[i];
|
|
348
|
+
const valueTrimmed = valueLine.trim();
|
|
349
|
+
// Stop if we hit an empty line
|
|
350
|
+
if (valueTrimmed === "") {
|
|
351
|
+
i--; // Back up so the outer loop can process this line
|
|
352
|
+
break;
|
|
353
|
+
}
|
|
354
|
+
if (valueTrimmed) {
|
|
355
|
+
lines.push(`${traceIndent}${applyDiffHighlighting(valueLine, pc.green)}`);
|
|
356
|
+
}
|
|
357
|
+
i++;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
else if (trimmed) {
|
|
361
|
+
// File paths, context lines, other trace info
|
|
362
|
+
lines.push(`${traceIndent}${pc.dim(line)}`);
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
// Empty lines (preserve them for spacing)
|
|
366
|
+
lines.push("");
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
// Add filter to re-run this specific test
|
|
370
|
+
if (test.name) {
|
|
371
|
+
const filterCmd = this.getFilterCommand(test.name, test.suiteName);
|
|
372
|
+
if (filterCmd) {
|
|
373
|
+
lines.push(`${traceIndent}${pc.dim("Re-run only this test by appending:")}`);
|
|
374
|
+
lines.push(`${traceIndent}${pc.dim(filterCmd)}`);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
238
377
|
}
|
|
239
378
|
break;
|
|
240
379
|
}
|
|
241
380
|
case "skipped": {
|
|
242
|
-
const reasonStr = test.message
|
|
381
|
+
const reasonStr = test.message
|
|
382
|
+
? ` ${pc.dim(`(${test.message})`)}`
|
|
383
|
+
: ` ${pc.dim("(Skipped)")}`;
|
|
243
384
|
lines.push(`${indent}${pc.yellow("○")} ${pc.dim(test.name)}${reasonStr}`);
|
|
244
385
|
break;
|
|
245
386
|
}
|
|
246
387
|
case "pending": {
|
|
247
|
-
|
|
388
|
+
const message = test.message ? ` ${pc.dim(`(${test.message})`)}` : "";
|
|
389
|
+
lines.push(`${indent}${pc.yellow("◔")} ${pc.dim(test.name)}${message}`);
|
|
248
390
|
break;
|
|
249
391
|
}
|
|
250
392
|
}
|
|
@@ -270,7 +412,7 @@ export class StreamingReporter {
|
|
|
270
412
|
*/
|
|
271
413
|
getOrCreateSuite(file, suiteName) {
|
|
272
414
|
// Find existing suite
|
|
273
|
-
let suite = file.suites.find(s => s.name === suiteName);
|
|
415
|
+
let suite = file.suites.find((s) => s.name === suiteName);
|
|
274
416
|
if (!suite) {
|
|
275
417
|
suite = {
|
|
276
418
|
name: suiteName,
|
|
@@ -282,18 +424,33 @@ export class StreamingReporter {
|
|
|
282
424
|
}
|
|
283
425
|
return suite;
|
|
284
426
|
}
|
|
427
|
+
/**
|
|
428
|
+
* Get display name from tool name
|
|
429
|
+
*/
|
|
430
|
+
getDisplayName(toolName) {
|
|
431
|
+
const nameMap = {
|
|
432
|
+
"wp-tester-phpunit": "PHPUnit Tests",
|
|
433
|
+
"wp-tester-smoke": "WordPress Tests",
|
|
434
|
+
"wp-tester": "Tests",
|
|
435
|
+
};
|
|
436
|
+
return nameMap[toolName] || toolName;
|
|
437
|
+
}
|
|
285
438
|
/**
|
|
286
439
|
* Called when test run starts
|
|
287
440
|
*/
|
|
288
441
|
onRunStart(toolName) {
|
|
442
|
+
const tool = toolName || "wp-tester";
|
|
289
443
|
this.state = {
|
|
290
444
|
files: new Map(),
|
|
291
|
-
toolName:
|
|
445
|
+
toolName: tool,
|
|
446
|
+
displayName: this.getDisplayName(tool),
|
|
292
447
|
startTime: Date.now(),
|
|
293
448
|
totalTests: 0,
|
|
294
449
|
passedTests: 0,
|
|
295
450
|
failedTests: 0,
|
|
296
451
|
skippedTests: 0,
|
|
452
|
+
pendingTests: 0,
|
|
453
|
+
isRunning: true,
|
|
297
454
|
};
|
|
298
455
|
this.lastOutputLineCount = 0;
|
|
299
456
|
}
|
|
@@ -302,6 +459,7 @@ export class StreamingReporter {
|
|
|
302
459
|
*/
|
|
303
460
|
onRunEnd() {
|
|
304
461
|
this.stopSpinner();
|
|
462
|
+
this.state.isRunning = false;
|
|
305
463
|
// Clean up any tests still in "running" state across all files
|
|
306
464
|
// This ensures we never show spinners in the final output
|
|
307
465
|
for (const file of this.state.files.values()) {
|
|
@@ -310,6 +468,9 @@ export class StreamingReporter {
|
|
|
310
468
|
for (const test of suite.tests) {
|
|
311
469
|
if (test.status === "running") {
|
|
312
470
|
test.status = "pending";
|
|
471
|
+
test.message = test.message || "Did not complete";
|
|
472
|
+
this.state.pendingTests++;
|
|
473
|
+
this.state.totalTests++;
|
|
313
474
|
}
|
|
314
475
|
}
|
|
315
476
|
}
|
|
@@ -339,7 +500,9 @@ export class StreamingReporter {
|
|
|
339
500
|
* Called when a test suite starts
|
|
340
501
|
*/
|
|
341
502
|
onSuiteStart(name, fileId) {
|
|
342
|
-
const file = fileId
|
|
503
|
+
const file = fileId
|
|
504
|
+
? this.getOrCreateFile(fileId)
|
|
505
|
+
: this.getOrCreateFile("__global__");
|
|
343
506
|
file.currentSuiteStack.push(name);
|
|
344
507
|
const suite = this.getOrCreateSuite(file, name);
|
|
345
508
|
// When a child suite is created, mark all parent suites as not loading
|
|
@@ -355,7 +518,9 @@ export class StreamingReporter {
|
|
|
355
518
|
* Called when a test suite ends
|
|
356
519
|
*/
|
|
357
520
|
onSuiteEnd(name, fileId) {
|
|
358
|
-
const file = fileId
|
|
521
|
+
const file = fileId
|
|
522
|
+
? this.state.files.get(fileId)
|
|
523
|
+
: this.state.files.get("__global__");
|
|
359
524
|
if (file) {
|
|
360
525
|
const index = file.currentSuiteStack.lastIndexOf(name);
|
|
361
526
|
if (index !== -1) {
|
|
@@ -363,7 +528,7 @@ export class StreamingReporter {
|
|
|
363
528
|
}
|
|
364
529
|
// Mark suite as no longer loading when it ends
|
|
365
530
|
// This ensures loaders are removed even if no tests were reported
|
|
366
|
-
const suite = file.suites.find(s => s.name === name);
|
|
531
|
+
const suite = file.suites.find((s) => s.name === name);
|
|
367
532
|
if (suite) {
|
|
368
533
|
suite.isLoading = false;
|
|
369
534
|
// Clean up any tests still in "running" state - they should be marked as pending
|
|
@@ -371,6 +536,9 @@ export class StreamingReporter {
|
|
|
371
536
|
for (const test of suite.tests) {
|
|
372
537
|
if (test.status === "running") {
|
|
373
538
|
test.status = "pending";
|
|
539
|
+
test.message = test.message || "Did not complete";
|
|
540
|
+
this.state.pendingTests++;
|
|
541
|
+
this.state.totalTests++;
|
|
374
542
|
}
|
|
375
543
|
}
|
|
376
544
|
}
|
|
@@ -381,42 +549,55 @@ export class StreamingReporter {
|
|
|
381
549
|
* Called when a test starts
|
|
382
550
|
*/
|
|
383
551
|
onTestStart(name, suiteName, fileId) {
|
|
384
|
-
const file = fileId
|
|
552
|
+
const file = fileId
|
|
553
|
+
? this.getOrCreateFile(fileId)
|
|
554
|
+
: this.getOrCreateFile("__global__");
|
|
385
555
|
const suite = this.getOrCreateSuite(file, suiteName || "Tests");
|
|
386
556
|
// Mark ALL suites in this file as no longer loading once any test starts
|
|
387
557
|
// This handles nested suite structures where parent suites don't directly contain tests
|
|
388
558
|
for (const s of file.suites) {
|
|
389
559
|
s.isLoading = false;
|
|
390
560
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
561
|
+
// Check if test already exists (completion event arrived before start event)
|
|
562
|
+
const existingTest = suite.tests.find((t) => t.name === name && t.suiteName === suiteName);
|
|
563
|
+
if (!existingTest) {
|
|
564
|
+
// Test doesn't exist yet - create it in running state
|
|
565
|
+
suite.tests.push({
|
|
566
|
+
name,
|
|
567
|
+
suiteName,
|
|
568
|
+
status: "running",
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
// If test already exists with a completed status, don't change it
|
|
396
572
|
this.render();
|
|
397
573
|
}
|
|
398
574
|
/**
|
|
399
575
|
* Called when a test passes
|
|
400
576
|
*/
|
|
401
577
|
onTestPass(name, duration, suiteName, fileId) {
|
|
402
|
-
const file = fileId
|
|
578
|
+
const file = fileId
|
|
579
|
+
? this.getOrCreateFile(fileId)
|
|
580
|
+
: this.getOrCreateFile("__global__");
|
|
403
581
|
const suite = this.getOrCreateSuite(file, suiteName || "Tests");
|
|
404
582
|
// Mark ALL suites in this file as no longer loading once any test completes
|
|
405
583
|
// This handles nested suite structures where parent suites don't directly contain tests
|
|
406
584
|
for (const s of file.suites) {
|
|
407
585
|
s.isLoading = false;
|
|
408
586
|
}
|
|
409
|
-
// Find and update the test
|
|
410
|
-
|
|
587
|
+
// Find and update the test
|
|
588
|
+
// Look for a test in "running" state first (most common case - completion follows start)
|
|
589
|
+
let test = suite.tests.find((t) => t.name === name && t.status === "running");
|
|
411
590
|
if (!test) {
|
|
412
|
-
// Fallback: try
|
|
413
|
-
test = suite.tests.find(t => t.name === name && t.
|
|
591
|
+
// Fallback: try exact match with suiteName (handles case where test completed before start event)
|
|
592
|
+
test = suite.tests.find((t) => t.name === name && t.suiteName === suiteName);
|
|
414
593
|
}
|
|
415
594
|
if (test) {
|
|
416
595
|
test.status = "passed";
|
|
417
596
|
test.duration = duration;
|
|
597
|
+
test.suiteName = suiteName; // Ensure suiteName is set
|
|
418
598
|
}
|
|
419
599
|
else {
|
|
600
|
+
// Test start event hasn't arrived yet - create the test with completed state
|
|
420
601
|
suite.tests.push({
|
|
421
602
|
name,
|
|
422
603
|
suiteName,
|
|
@@ -432,26 +613,31 @@ export class StreamingReporter {
|
|
|
432
613
|
* Called when a test fails
|
|
433
614
|
*/
|
|
434
615
|
onTestFail(name, duration, message, trace, suiteName, fileId) {
|
|
435
|
-
const file = fileId
|
|
616
|
+
const file = fileId
|
|
617
|
+
? this.getOrCreateFile(fileId)
|
|
618
|
+
: this.getOrCreateFile("__global__");
|
|
436
619
|
const suite = this.getOrCreateSuite(file, suiteName || "Tests");
|
|
437
620
|
// Mark ALL suites in this file as no longer loading once any test completes
|
|
438
621
|
// This handles nested suite structures where parent suites don't directly contain tests
|
|
439
622
|
for (const s of file.suites) {
|
|
440
623
|
s.isLoading = false;
|
|
441
624
|
}
|
|
442
|
-
// Find and update the test
|
|
443
|
-
|
|
625
|
+
// Find and update the test
|
|
626
|
+
// Look for a test in "running" state first (most common case - completion follows start)
|
|
627
|
+
let test = suite.tests.find((t) => t.name === name && t.status === "running");
|
|
444
628
|
if (!test) {
|
|
445
|
-
// Fallback: try
|
|
446
|
-
test = suite.tests.find(t => t.name === name && t.
|
|
629
|
+
// Fallback: try exact match with suiteName (handles case where test completed before start event)
|
|
630
|
+
test = suite.tests.find((t) => t.name === name && t.suiteName === suiteName);
|
|
447
631
|
}
|
|
448
632
|
if (test) {
|
|
449
633
|
test.status = "failed";
|
|
450
634
|
test.duration = duration;
|
|
451
635
|
test.message = message;
|
|
452
636
|
test.trace = trace;
|
|
637
|
+
test.suiteName = suiteName; // Ensure suiteName is set
|
|
453
638
|
}
|
|
454
639
|
else {
|
|
640
|
+
// Test start event hasn't arrived yet - create the test with completed state
|
|
455
641
|
suite.tests.push({
|
|
456
642
|
name,
|
|
457
643
|
suiteName,
|
|
@@ -469,24 +655,29 @@ export class StreamingReporter {
|
|
|
469
655
|
* Called when a test is skipped
|
|
470
656
|
*/
|
|
471
657
|
onTestSkip(name, reason, suiteName, fileId) {
|
|
472
|
-
const file = fileId
|
|
658
|
+
const file = fileId
|
|
659
|
+
? this.getOrCreateFile(fileId)
|
|
660
|
+
: this.getOrCreateFile("__global__");
|
|
473
661
|
const suite = this.getOrCreateSuite(file, suiteName || "Tests");
|
|
474
662
|
// Mark ALL suites in this file as no longer loading once any test completes
|
|
475
663
|
// This handles nested suite structures where parent suites don't directly contain tests
|
|
476
664
|
for (const s of file.suites) {
|
|
477
665
|
s.isLoading = false;
|
|
478
666
|
}
|
|
479
|
-
// Find and update the test
|
|
480
|
-
|
|
667
|
+
// Find and update the test
|
|
668
|
+
// Look for a test in "running" state first (most common case - completion follows start)
|
|
669
|
+
let test = suite.tests.find((t) => t.name === name && t.status === "running");
|
|
481
670
|
if (!test) {
|
|
482
|
-
// Fallback: try
|
|
483
|
-
test = suite.tests.find(t => t.name === name && t.
|
|
671
|
+
// Fallback: try exact match with suiteName (handles case where test completed before start event)
|
|
672
|
+
test = suite.tests.find((t) => t.name === name && t.suiteName === suiteName);
|
|
484
673
|
}
|
|
485
674
|
if (test) {
|
|
486
675
|
test.status = "skipped";
|
|
487
676
|
test.message = reason;
|
|
677
|
+
test.suiteName = suiteName; // Ensure suiteName is set
|
|
488
678
|
}
|
|
489
679
|
else {
|
|
680
|
+
// Test start event hasn't arrived yet - create the test with completed state
|
|
490
681
|
suite.tests.push({
|
|
491
682
|
name,
|
|
492
683
|
suiteName,
|
|
@@ -502,12 +693,14 @@ export class StreamingReporter {
|
|
|
502
693
|
* Called when a test is pending
|
|
503
694
|
*/
|
|
504
695
|
onTestPending(name, suiteName, fileId) {
|
|
505
|
-
const file = fileId
|
|
696
|
+
const file = fileId
|
|
697
|
+
? this.getOrCreateFile(fileId)
|
|
698
|
+
: this.getOrCreateFile("__global__");
|
|
506
699
|
const suite = this.getOrCreateSuite(file, suiteName || "Tests");
|
|
507
700
|
// Mark suite as no longer loading once first test completes
|
|
508
701
|
suite.isLoading = false;
|
|
509
702
|
// Find and update the test
|
|
510
|
-
const test = suite.tests.find(t => t.name === name && t.suiteName === suiteName);
|
|
703
|
+
const test = suite.tests.find((t) => t.name === name && t.suiteName === suiteName);
|
|
511
704
|
if (test) {
|
|
512
705
|
test.status = "pending";
|
|
513
706
|
}
|
|
@@ -535,9 +728,15 @@ export class StreamingReporter {
|
|
|
535
728
|
if (this.state.skippedTests > 0) {
|
|
536
729
|
this.writer.writeLine(pc.yellow(` ○ ${this.state.skippedTests} skipped`));
|
|
537
730
|
}
|
|
731
|
+
if (this.state.pendingTests > 0) {
|
|
732
|
+
this.writer.writeLine(pc.yellow(` ◔ ${this.state.pendingTests} pending`));
|
|
733
|
+
}
|
|
538
734
|
this.writer.writeLine("");
|
|
539
735
|
this.writer.writeLine(pc.dim(` ${this.state.totalTests} tests in ${formatDuration(duration)}`));
|
|
540
736
|
this.writer.writeLine("");
|
|
737
|
+
// Print icon legend
|
|
738
|
+
this.writer.writeLine(pc.dim(" Legend: ✓ passed ✗ failed ○ skipped ◔ pending"));
|
|
739
|
+
this.writer.writeLine("");
|
|
541
740
|
}
|
|
542
741
|
/**
|
|
543
742
|
* Get the current report in CTRF format
|
|
@@ -549,7 +748,9 @@ export class StreamingReporter {
|
|
|
549
748
|
for (const suite of file.suites) {
|
|
550
749
|
for (const test of suite.tests) {
|
|
551
750
|
const ctrf = {
|
|
552
|
-
name: test.suiteName
|
|
751
|
+
name: test.suiteName
|
|
752
|
+
? `${test.suiteName}::${test.name}`
|
|
753
|
+
: test.name,
|
|
553
754
|
status: test.status === "running" ? "other" : test.status,
|
|
554
755
|
duration: test.duration || 0,
|
|
555
756
|
};
|
|
@@ -575,7 +776,7 @@ export class StreamingReporter {
|
|
|
575
776
|
passed: this.state.passedTests,
|
|
576
777
|
failed: this.state.failedTests,
|
|
577
778
|
skipped: this.state.skippedTests,
|
|
578
|
-
pending:
|
|
779
|
+
pending: this.state.pendingTests,
|
|
579
780
|
other: 0,
|
|
580
781
|
start: this.state.startTime,
|
|
581
782
|
stop: Date.now(),
|
|
@@ -593,6 +794,7 @@ export class StreamingReporter {
|
|
|
593
794
|
passed: this.state.passedTests,
|
|
594
795
|
failed: this.state.failedTests,
|
|
595
796
|
skipped: this.state.skippedTests,
|
|
797
|
+
pending: this.state.pendingTests,
|
|
596
798
|
};
|
|
597
799
|
}
|
|
598
800
|
}
|
package/dist/streaming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
|