@vibe-validate/extractors 0.17.6 → 0.18.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/extractors/ava/index.test.js +17 -17
- package/dist/extractors/ava/index.test.js.map +1 -1
- package/dist/extractors/eslint/index.d.ts.map +1 -1
- package/dist/extractors/eslint/index.js +5 -2
- package/dist/extractors/eslint/index.js.map +1 -1
- package/dist/extractors/eslint/index.test.js +115 -47
- package/dist/extractors/eslint/index.test.js.map +1 -1
- package/dist/extractors/generic/index.test.js +34 -0
- package/dist/extractors/generic/index.test.js.map +1 -1
- package/dist/extractors/jasmine/index.test.js +37 -30
- package/dist/extractors/jasmine/index.test.js.map +1 -1
- package/dist/extractors/jest/index.d.ts.map +1 -1
- package/dist/extractors/jest/index.js +1 -4
- package/dist/extractors/jest/index.js.map +1 -1
- package/dist/extractors/jest/index.test.js +45 -44
- package/dist/extractors/jest/index.test.js.map +1 -1
- package/dist/extractors/junit/index.test.js +30 -33
- package/dist/extractors/junit/index.test.js.map +1 -1
- package/dist/extractors/maven-checkstyle/index.test.js +32 -29
- package/dist/extractors/maven-checkstyle/index.test.js.map +1 -1
- package/dist/extractors/maven-compiler/index.test.js +31 -26
- package/dist/extractors/maven-compiler/index.test.js.map +1 -1
- package/dist/extractors/maven-surefire/index.test.js +26 -24
- package/dist/extractors/maven-surefire/index.test.js.map +1 -1
- package/dist/extractors/mocha/index.test.js +27 -22
- package/dist/extractors/mocha/index.test.js.map +1 -1
- package/dist/extractors/playwright/index.test.js +26 -21
- package/dist/extractors/playwright/index.test.js.map +1 -1
- package/dist/extractors/tap/index.test.js +13 -10
- package/dist/extractors/tap/index.test.js.map +1 -1
- package/dist/extractors/typescript/index.test.js +52 -43
- package/dist/extractors/typescript/index.test.js.map +1 -1
- package/dist/extractors/vitest/index.d.ts.map +1 -1
- package/dist/extractors/vitest/index.js +71 -30
- package/dist/extractors/vitest/index.js.map +1 -1
- package/dist/extractors/vitest/index.test.js +103 -59
- package/dist/extractors/vitest/index.test.js.map +1 -1
- package/dist/test/helpers/extractor-test-helpers.d.ts +196 -0
- package/dist/test/helpers/extractor-test-helpers.d.ts.map +1 -0
- package/dist/test/helpers/extractor-test-helpers.js +238 -0
- package/dist/test/helpers/extractor-test-helpers.js.map +1 -0
- package/dist/test/helpers/max-errors-helper.d.ts +62 -0
- package/dist/test/helpers/max-errors-helper.d.ts.map +1 -0
- package/dist/test/helpers/max-errors-helper.js +75 -0
- package/dist/test/helpers/max-errors-helper.js.map +1 -0
- package/package.json +6 -2
|
@@ -6,34 +6,55 @@
|
|
|
6
6
|
* @package @vibe-validate/extractors
|
|
7
7
|
*/
|
|
8
8
|
import { describe, it, expect } from 'vitest';
|
|
9
|
+
import { expectDetection, expectEmptyExtraction, expectPluginMetadata, } from '../../test/helpers/extractor-test-helpers.js';
|
|
9
10
|
import vitestPlugin from './index.js';
|
|
10
|
-
const { extract
|
|
11
|
+
const { extract } = vitestPlugin;
|
|
12
|
+
/**
|
|
13
|
+
* Assert single error extraction with standard checks
|
|
14
|
+
* Helper to reduce test duplication for single-error test cases
|
|
15
|
+
*
|
|
16
|
+
* @param output - Test output to extract from
|
|
17
|
+
* @param expectedFile - Expected error file path
|
|
18
|
+
* @param expectedMessages - Array of message fragments to check
|
|
19
|
+
*/
|
|
20
|
+
function expectSingleError(output, expectedFile, expectedMessages) {
|
|
21
|
+
const result = extract(output);
|
|
22
|
+
expect(result.errors).toHaveLength(1);
|
|
23
|
+
expect(result.errors[0].file).toBe(expectedFile);
|
|
24
|
+
for (const msg of expectedMessages) {
|
|
25
|
+
expect(result.errors[0].message).toContain(msg);
|
|
26
|
+
}
|
|
27
|
+
expect(result.totalErrors).toBe(1);
|
|
28
|
+
expect(result.summary).toBe('1 test failure(s)');
|
|
29
|
+
}
|
|
11
30
|
describe('Vitest Extractor Plugin', () => {
|
|
12
31
|
describe('detect', () => {
|
|
13
32
|
it('should detect Vitest test failures with high confidence', () => {
|
|
14
|
-
|
|
33
|
+
expectDetection(vitestPlugin, `
|
|
15
34
|
FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT
|
|
16
35
|
AssertionError: expected 3000 to be 9999 // Object.is equality
|
|
17
36
|
❯ test/unit/config/environment.test.ts:57:30
|
|
18
|
-
`.trim()
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
expect(
|
|
37
|
+
`.trim(), {
|
|
38
|
+
confidence: { min: 70 },
|
|
39
|
+
reasonContains: 'Vitest',
|
|
40
|
+
});
|
|
41
|
+
expect(vitestPlugin).toBeDefined();
|
|
23
42
|
});
|
|
24
43
|
it('should detect multiple Vitest patterns with higher confidence', () => {
|
|
25
|
-
|
|
44
|
+
expectDetection(vitestPlugin, `
|
|
26
45
|
❯ test/unit/config/environment.test.ts (1)
|
|
27
46
|
× should parse HTTP_PORT
|
|
28
47
|
AssertionError: expected 3000 to be 9999
|
|
29
|
-
`.trim()
|
|
30
|
-
|
|
31
|
-
|
|
48
|
+
`.trim(), {
|
|
49
|
+
confidence: 90,
|
|
50
|
+
});
|
|
51
|
+
expect(vitestPlugin).toBeDefined();
|
|
32
52
|
});
|
|
33
53
|
it('should not detect non-Vitest output', () => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
expectDetection(vitestPlugin, 'Some random text without test failures', {
|
|
55
|
+
confidence: 0,
|
|
56
|
+
});
|
|
57
|
+
expect(vitestPlugin.metadata.name).toBe('vitest'); // Explicit assertion for SonarQube
|
|
37
58
|
});
|
|
38
59
|
});
|
|
39
60
|
describe('extract', () => {
|
|
@@ -187,10 +208,8 @@ AssertionError: expected 3000 to be 9999
|
|
|
187
208
|
expect(result.guidance).toContain('Fix the assertion in the test file');
|
|
188
209
|
});
|
|
189
210
|
it('should handle empty output', () => {
|
|
190
|
-
|
|
191
|
-
expect(
|
|
192
|
-
expect(result.summary).toBe('0 test failure(s)');
|
|
193
|
-
expect(result.totalErrors).toBe(0);
|
|
211
|
+
expectEmptyExtraction(extract, '0 test failure(s)');
|
|
212
|
+
expect(vitestPlugin).toBeDefined();
|
|
194
213
|
});
|
|
195
214
|
it('should handle output with no test failures', () => {
|
|
196
215
|
const output = `
|
|
@@ -201,9 +220,8 @@ AssertionError: expected 3000 to be 9999
|
|
|
201
220
|
Test Files 3 passed (3)
|
|
202
221
|
Tests 3 passed (3)
|
|
203
222
|
`.trim();
|
|
204
|
-
|
|
205
|
-
expect(
|
|
206
|
-
expect(result.totalErrors).toBe(0);
|
|
223
|
+
expectEmptyExtraction(() => extract(output), '0 test failure(s)');
|
|
224
|
+
expect(vitestPlugin).toBeDefined();
|
|
207
225
|
});
|
|
208
226
|
it('should extract location from FAIL sections, not summary × lines', () => {
|
|
209
227
|
// Regression test for issue where summary × lines (without location markers)
|
|
@@ -309,14 +327,11 @@ All files | 88.47 | 84.21 | 86.47 | 88.47 |
|
|
|
309
327
|
|
|
310
328
|
ERROR: Coverage for functions (86.47%) does not meet global threshold (87%)
|
|
311
329
|
`.trim();
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
expect(result.errors[0].message).toContain('87%');
|
|
318
|
-
expect(result.totalErrors).toBe(1);
|
|
319
|
-
expect(result.summary).toBe('1 test failure(s)');
|
|
330
|
+
expectSingleError(output, 'vitest.config.ts', [
|
|
331
|
+
'Coverage for functions',
|
|
332
|
+
'86.47%',
|
|
333
|
+
'87%'
|
|
334
|
+
]);
|
|
320
335
|
});
|
|
321
336
|
it('should extract Vitest worker timeout errors', () => {
|
|
322
337
|
const output = `
|
|
@@ -334,14 +349,11 @@ Error: [vitest-worker]: Timeout calling "onTaskUpdate"
|
|
|
334
349
|
|
|
335
350
|
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
|
|
336
351
|
`.trim();
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
expect(result.errors[0].message).toContain('Kill background processes');
|
|
343
|
-
expect(result.totalErrors).toBe(1);
|
|
344
|
-
expect(result.summary).toBe('1 test failure(s)');
|
|
352
|
+
expectSingleError(output, 'vitest.config.ts', [
|
|
353
|
+
'Timeout calling "onTaskUpdate"',
|
|
354
|
+
'system resource constraints',
|
|
355
|
+
'Kill background processes'
|
|
356
|
+
]);
|
|
345
357
|
});
|
|
346
358
|
it('should extract Vitest worker timeout errors with plural "Unhandled Errors"', () => {
|
|
347
359
|
const output = `
|
|
@@ -364,18 +376,49 @@ Error: [vitest-worker]: Timeout calling "onTaskUpdate"
|
|
|
364
376
|
|
|
365
377
|
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
|
|
366
378
|
`.trim();
|
|
379
|
+
expectSingleError(output, 'vitest.config.ts', [
|
|
380
|
+
'Timeout calling "onTaskUpdate"',
|
|
381
|
+
'system resource constraints',
|
|
382
|
+
'Kill background processes'
|
|
383
|
+
]);
|
|
384
|
+
});
|
|
385
|
+
it('should extract multiple unhandled rejections (issue #84)', () => {
|
|
386
|
+
// Reproduce issue #84: Multiple unhandled promise rejections
|
|
387
|
+
// Test data: 7 different error types that should all be extracted
|
|
388
|
+
const errors = [
|
|
389
|
+
{ type: 'TypeError', msg: 'mockImplementation is not a function', file: 'packages/cli/test/helpers/doctor-helpers.ts', line: 176, col: 24 },
|
|
390
|
+
{ type: 'TypeError', msg: 'mockImplementation is not a function', file: 'packages/cli/test/helpers/doctor-helpers.ts', line: 176, col: 24 },
|
|
391
|
+
{ type: 'TypeError', msg: 'mockResolvedValue is not a function', file: 'packages/cli/test/helpers/doctor-helpers.ts', line: 180, col: 32 },
|
|
392
|
+
{ type: 'Error', msg: 'Test timeout exceeded', file: 'packages/core/test/validation.test.ts', line: 42, col: 15 },
|
|
393
|
+
{ type: 'ReferenceError', msg: 'fetch is not defined', file: 'packages/api/test/client.test.ts', line: 88, col: 10 },
|
|
394
|
+
{ type: 'TypeError', msg: "Cannot read property 'length' of undefined", file: 'packages/utils/test/parser.test.ts', line: 120, col: 25 },
|
|
395
|
+
{ type: 'Error', msg: 'ENOENT: no such file or directory', file: 'packages/fs/test/operations.test.ts', line: 55, col: 18 }
|
|
396
|
+
];
|
|
397
|
+
const rejections = errors.map(e => `⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯\n${e.type}: ${e.msg}\n ❯ fn ${e.file}:${e.line}:${e.col}\n ❯ processTicksAndRejections node:internal/process/task_queues:105:5`).join('\n\n');
|
|
398
|
+
const output = `RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
|
|
399
|
+
Test Files 93 passed (93)
|
|
400
|
+
Tests 1687 passed (1687)
|
|
401
|
+
Errors ${errors.length} errors
|
|
402
|
+
|
|
403
|
+
⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯
|
|
404
|
+
Vitest caught ${errors.length} unhandled errors during the test run.
|
|
405
|
+
|
|
406
|
+
${rejections}
|
|
407
|
+
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯`;
|
|
367
408
|
const result = extract(output);
|
|
368
|
-
|
|
369
|
-
expect(result.errors
|
|
370
|
-
expect(result.
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
409
|
+
// CRITICAL: Must extract ALL unhandled errors
|
|
410
|
+
expect(result.errors).toHaveLength(errors.length);
|
|
411
|
+
expect(result.totalErrors).toBe(errors.length);
|
|
412
|
+
// Verify each error was extracted correctly
|
|
413
|
+
for (const [i, expected] of errors.entries()) {
|
|
414
|
+
expect(result.errors[i].file).toBe(expected.file);
|
|
415
|
+
expect(result.errors[i].line).toBe(expected.line);
|
|
416
|
+
expect(result.errors[i].column).toBe(expected.col);
|
|
417
|
+
expect(result.errors[i].message).toContain(expected.msg);
|
|
418
|
+
}
|
|
375
419
|
});
|
|
376
420
|
it('should truncate errors array to MAX_ERRORS_IN_ARRAY but preserve totalErrors count', async () => {
|
|
377
|
-
|
|
378
|
-
const { MAX_ERRORS_IN_ARRAY } = await import('../../result-schema.js');
|
|
421
|
+
const { expectMaxErrorsTruncation } = await import('../../test/helpers/max-errors-helper.js');
|
|
379
422
|
// Generate 15 test failures (more than MAX_ERRORS_IN_ARRAY = 10)
|
|
380
423
|
const failures = Array.from({ length: 15 }, (_, i) => `
|
|
381
424
|
FAIL test/unit/file${i + 1}.test.ts > TestSuite > test ${i + 1}
|
|
@@ -384,23 +427,24 @@ AssertionError: expected ${i} to be ${i + 1}
|
|
|
384
427
|
${i + 10}| expect(value).toBe(${i + 1});
|
|
385
428
|
`).join('\n');
|
|
386
429
|
const result = extract(failures);
|
|
387
|
-
//
|
|
388
|
-
expect(result.
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
// Summary should show full count (15)
|
|
396
|
-
expect(result.summary).toBe('15 test failure(s)');
|
|
430
|
+
// Verify truncation behavior (assertions in helper)
|
|
431
|
+
expect(result.errors.length).toBeGreaterThan(0);
|
|
432
|
+
await expectMaxErrorsTruncation(result, {
|
|
433
|
+
totalCount: 15,
|
|
434
|
+
firstError: 'test/unit/file1.test.ts',
|
|
435
|
+
lastTruncatedError: 'test/unit/file10.test.ts',
|
|
436
|
+
summaryPattern: '15 test failure(s)'
|
|
437
|
+
});
|
|
397
438
|
});
|
|
398
439
|
});
|
|
399
440
|
describe('plugin metadata', () => {
|
|
400
441
|
it('should have correct metadata', () => {
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
442
|
+
expectPluginMetadata(vitestPlugin, {
|
|
443
|
+
name: 'vitest',
|
|
444
|
+
priority: 85,
|
|
445
|
+
anyOfHints: ['FAIL'],
|
|
446
|
+
});
|
|
447
|
+
expect(vitestPlugin).toBeDefined();
|
|
404
448
|
});
|
|
405
449
|
it('should include sample test cases', () => {
|
|
406
450
|
expect(vitestPlugin.samples).toBeDefined();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test helpers for error extractor plugins
|
|
3
|
+
*
|
|
4
|
+
* Eliminates duplication across extractor tests by providing common assertion
|
|
5
|
+
* patterns for detection, extraction, metadata, and error object validation.
|
|
6
|
+
*
|
|
7
|
+
* @package @vibe-validate/extractors
|
|
8
|
+
*/
|
|
9
|
+
import type { ErrorExtractorResult, ExtractorPlugin, FormattedError } from '../../types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Options for plugin metadata verification
|
|
12
|
+
*/
|
|
13
|
+
interface MetadataExpectation {
|
|
14
|
+
/** Expected plugin name */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Expected priority value */
|
|
17
|
+
priority: number;
|
|
18
|
+
/** Expected required hint patterns (must all be present) */
|
|
19
|
+
requiredHints?: string[];
|
|
20
|
+
/** Expected anyOf hint patterns (at least one must be present) */
|
|
21
|
+
anyOfHints?: string[];
|
|
22
|
+
/** Expected plugin tags */
|
|
23
|
+
tags?: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Options for detection result verification
|
|
27
|
+
*/
|
|
28
|
+
interface DetectionExpectation {
|
|
29
|
+
/** Expected confidence (exact value or min/max range) */
|
|
30
|
+
confidence: number | {
|
|
31
|
+
min?: number;
|
|
32
|
+
max?: number;
|
|
33
|
+
};
|
|
34
|
+
/** Expected pattern descriptions that should appear in result.patterns */
|
|
35
|
+
patterns?: string[];
|
|
36
|
+
/** Expected substring in detection reason */
|
|
37
|
+
reasonContains?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Options for extraction result verification
|
|
41
|
+
*/
|
|
42
|
+
interface ExtractionExpectation {
|
|
43
|
+
/** Expected number of errors */
|
|
44
|
+
errorCount: number;
|
|
45
|
+
/** Expected summary (exact string or regex pattern) */
|
|
46
|
+
summaryPattern?: string | RegExp;
|
|
47
|
+
/** Expected substrings in guidance (all must be present) */
|
|
48
|
+
guidanceContains?: string[];
|
|
49
|
+
/** Expected substrings in errorSummary (all must be present) */
|
|
50
|
+
errorSummaryContains?: string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Options for individual error object verification
|
|
54
|
+
*/
|
|
55
|
+
interface ErrorExpectation {
|
|
56
|
+
/** Expected file path */
|
|
57
|
+
file?: string;
|
|
58
|
+
/** Expected line number */
|
|
59
|
+
line?: number;
|
|
60
|
+
/** Expected column number */
|
|
61
|
+
column?: number;
|
|
62
|
+
/** Expected substring(s) in error message (all must be present) */
|
|
63
|
+
messageContains?: string | string[];
|
|
64
|
+
/** Expected severity level */
|
|
65
|
+
severity?: 'error' | 'warning';
|
|
66
|
+
/** Expected error code */
|
|
67
|
+
code?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Verify plugin metadata matches expected values
|
|
71
|
+
*
|
|
72
|
+
* Reduces duplication in plugin metadata tests by consolidating common
|
|
73
|
+
* assertions for name, priority, hints, and tags.
|
|
74
|
+
*
|
|
75
|
+
* @param plugin - The extractor plugin to test
|
|
76
|
+
* @param expected - Expected metadata values
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* expectPluginMetadata(vitestPlugin, {
|
|
81
|
+
* name: 'vitest',
|
|
82
|
+
* priority: 85,
|
|
83
|
+
* requiredHints: [],
|
|
84
|
+
* anyOfHints: ['FAIL', 'test.ts', '❯'],
|
|
85
|
+
* });
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare function expectPluginMetadata(plugin: ExtractorPlugin, expected: MetadataExpectation): void;
|
|
89
|
+
/**
|
|
90
|
+
* Verify detection result matches expected confidence and patterns
|
|
91
|
+
*
|
|
92
|
+
* Reduces duplication in detect() tests by consolidating confidence checks,
|
|
93
|
+
* pattern verification, and reason validation.
|
|
94
|
+
*
|
|
95
|
+
* @param plugin - The extractor plugin
|
|
96
|
+
* @param output - Test output string to detect
|
|
97
|
+
* @param expected - Expected detection results
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* // Exact confidence
|
|
102
|
+
* expectDetection(vitestPlugin, sampleOutput, {
|
|
103
|
+
* confidence: 90,
|
|
104
|
+
* patterns: ['Vitest', 'test failure marker'],
|
|
105
|
+
* reasonContains: 'Vitest'
|
|
106
|
+
* });
|
|
107
|
+
*
|
|
108
|
+
* // Confidence range
|
|
109
|
+
* expectDetection(vitestPlugin, sampleOutput, {
|
|
110
|
+
* confidence: { min: 70, max: 95 },
|
|
111
|
+
* reasonContains: 'Vitest'
|
|
112
|
+
* });
|
|
113
|
+
*
|
|
114
|
+
* // No detection
|
|
115
|
+
* expectDetection(vitestPlugin, 'random text', {
|
|
116
|
+
* confidence: 0
|
|
117
|
+
* });
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare function expectDetection(plugin: ExtractorPlugin, output: string, expected: DetectionExpectation): void;
|
|
121
|
+
/**
|
|
122
|
+
* Verify extraction result structure matches expected values
|
|
123
|
+
*
|
|
124
|
+
* Reduces duplication in extract() tests by consolidating common assertions
|
|
125
|
+
* for error count, summary, guidance, and errorSummary.
|
|
126
|
+
*
|
|
127
|
+
* @param result - Extract result to verify
|
|
128
|
+
* @param expected - Expected result structure
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* const result = extract(output);
|
|
133
|
+
* expectExtractionResult(result, {
|
|
134
|
+
* errorCount: 3,
|
|
135
|
+
* summaryPattern: '3 test failure(s)',
|
|
136
|
+
* guidanceContains: ['Fix each failing test'],
|
|
137
|
+
* errorSummaryContains: ['Test 1/3']
|
|
138
|
+
* });
|
|
139
|
+
*
|
|
140
|
+
* // With regex
|
|
141
|
+
* expectExtractionResult(result, {
|
|
142
|
+
* errorCount: 5,
|
|
143
|
+
* summaryPattern: /5 (test|error)/,
|
|
144
|
+
* });
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare function expectExtractionResult(result: ErrorExtractorResult, expected: ExtractionExpectation): void;
|
|
148
|
+
/**
|
|
149
|
+
* Verify empty or no-match output behavior
|
|
150
|
+
*
|
|
151
|
+
* Reduces duplication in edge case tests by consolidating assertions for
|
|
152
|
+
* empty string and non-matching output scenarios.
|
|
153
|
+
*
|
|
154
|
+
* @param extractFn - Extract function to test
|
|
155
|
+
* @param expectedSummary - Expected summary for empty/no-match cases (string or regex)
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* expectEmptyExtraction(vitestPlugin.extract, '0 test failure(s)');
|
|
160
|
+
* expectEmptyExtraction(eslintPlugin.extract, '0 ESLint error(s), 0 warning(s)');
|
|
161
|
+
* expectEmptyExtraction(junitPlugin.extract, /0 test.*failed/);
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
export declare function expectEmptyExtraction(extractFn: (_output: string) => ErrorExtractorResult, expectedSummary: string | RegExp): void;
|
|
165
|
+
/**
|
|
166
|
+
* Verify individual error object fields match expected values
|
|
167
|
+
*
|
|
168
|
+
* Reduces duplication in error validation tests by consolidating assertions
|
|
169
|
+
* for file, line, column, message, severity, and code fields.
|
|
170
|
+
*
|
|
171
|
+
* @param error - The error object to verify
|
|
172
|
+
* @param expected - Expected field values
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* // Basic fields
|
|
177
|
+
* expectErrorObject(result.errors[0], {
|
|
178
|
+
* file: 'test/example.test.ts',
|
|
179
|
+
* line: 57,
|
|
180
|
+
* column: 30,
|
|
181
|
+
* messageContains: 'expected 3000 to be 9999'
|
|
182
|
+
* });
|
|
183
|
+
*
|
|
184
|
+
* // Multiple message fragments
|
|
185
|
+
* expectErrorObject(result.errors[0], {
|
|
186
|
+
* file: 'src/index.ts',
|
|
187
|
+
* line: 42,
|
|
188
|
+
* messageContains: ['Type error', 'not assignable'],
|
|
189
|
+
* severity: 'error',
|
|
190
|
+
* code: 'TS2322'
|
|
191
|
+
* });
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
export declare function expectErrorObject(error: FormattedError, expected: ErrorExpectation): void;
|
|
195
|
+
export {};
|
|
196
|
+
//# sourceMappingURL=extractor-test-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractor-test-helpers.d.ts","sourceRoot":"","sources":["../../../src/test/helpers/extractor-test-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5F;;GAEG;AACH,UAAU,mBAAmB;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,yDAAyD;IACzD,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,qBAAqB;IAC7B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAyBjG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CA0BN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,qBAAqB,GAC9B,IAAI,CAuBN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,EACpD,eAAe,EAAE,MAAM,GAAG,MAAM,GAC/B,IAAI,CAWN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CA8BzF"}
|