@vibe-validate/extractors 0.18.0-rc.1 → 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.
Files changed (43) hide show
  1. package/dist/extractors/ava/index.test.js +17 -17
  2. package/dist/extractors/ava/index.test.js.map +1 -1
  3. package/dist/extractors/eslint/index.test.js +57 -52
  4. package/dist/extractors/eslint/index.test.js.map +1 -1
  5. package/dist/extractors/generic/index.test.js +34 -0
  6. package/dist/extractors/generic/index.test.js.map +1 -1
  7. package/dist/extractors/jasmine/index.test.js +37 -30
  8. package/dist/extractors/jasmine/index.test.js.map +1 -1
  9. package/dist/extractors/jest/index.d.ts.map +1 -1
  10. package/dist/extractors/jest/index.js +1 -4
  11. package/dist/extractors/jest/index.js.map +1 -1
  12. package/dist/extractors/jest/index.test.js +45 -44
  13. package/dist/extractors/jest/index.test.js.map +1 -1
  14. package/dist/extractors/junit/index.test.js +30 -33
  15. package/dist/extractors/junit/index.test.js.map +1 -1
  16. package/dist/extractors/maven-checkstyle/index.test.js +32 -29
  17. package/dist/extractors/maven-checkstyle/index.test.js.map +1 -1
  18. package/dist/extractors/maven-compiler/index.test.js +31 -26
  19. package/dist/extractors/maven-compiler/index.test.js.map +1 -1
  20. package/dist/extractors/maven-surefire/index.test.js +26 -24
  21. package/dist/extractors/maven-surefire/index.test.js.map +1 -1
  22. package/dist/extractors/mocha/index.test.js +27 -22
  23. package/dist/extractors/mocha/index.test.js.map +1 -1
  24. package/dist/extractors/playwright/index.test.js +26 -21
  25. package/dist/extractors/playwright/index.test.js.map +1 -1
  26. package/dist/extractors/tap/index.test.js +13 -10
  27. package/dist/extractors/tap/index.test.js.map +1 -1
  28. package/dist/extractors/typescript/index.test.js +52 -43
  29. package/dist/extractors/typescript/index.test.js.map +1 -1
  30. package/dist/extractors/vitest/index.d.ts.map +1 -1
  31. package/dist/extractors/vitest/index.js +71 -30
  32. package/dist/extractors/vitest/index.js.map +1 -1
  33. package/dist/extractors/vitest/index.test.js +103 -59
  34. package/dist/extractors/vitest/index.test.js.map +1 -1
  35. package/dist/test/helpers/extractor-test-helpers.d.ts +196 -0
  36. package/dist/test/helpers/extractor-test-helpers.d.ts.map +1 -0
  37. package/dist/test/helpers/extractor-test-helpers.js +238 -0
  38. package/dist/test/helpers/extractor-test-helpers.js.map +1 -0
  39. package/dist/test/helpers/max-errors-helper.d.ts +62 -0
  40. package/dist/test/helpers/max-errors-helper.d.ts.map +1 -0
  41. package/dist/test/helpers/max-errors-helper.js +75 -0
  42. package/dist/test/helpers/max-errors-helper.js.map +1 -0
  43. package/package.json +6 -2
@@ -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"}
@@ -0,0 +1,238 @@
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 { expect } from 'vitest';
10
+ /**
11
+ * Verify plugin metadata matches expected values
12
+ *
13
+ * Reduces duplication in plugin metadata tests by consolidating common
14
+ * assertions for name, priority, hints, and tags.
15
+ *
16
+ * @param plugin - The extractor plugin to test
17
+ * @param expected - Expected metadata values
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * expectPluginMetadata(vitestPlugin, {
22
+ * name: 'vitest',
23
+ * priority: 85,
24
+ * requiredHints: [],
25
+ * anyOfHints: ['FAIL', 'test.ts', '❯'],
26
+ * });
27
+ * ```
28
+ */
29
+ export function expectPluginMetadata(plugin, expected) {
30
+ expect(plugin.metadata.name).toBe(expected.name);
31
+ expect(plugin.priority).toBe(expected.priority);
32
+ if (expected.requiredHints !== undefined) {
33
+ if (expected.requiredHints.length === 0) {
34
+ expect(plugin.hints?.required ?? []).toEqual([]);
35
+ }
36
+ else {
37
+ for (const hint of expected.requiredHints) {
38
+ expect(plugin.hints?.required).toContain(hint);
39
+ }
40
+ }
41
+ }
42
+ if (expected.anyOfHints !== undefined) {
43
+ for (const hint of expected.anyOfHints) {
44
+ expect(plugin.hints?.anyOf).toContain(hint);
45
+ }
46
+ }
47
+ if (expected.tags !== undefined) {
48
+ for (const tag of expected.tags) {
49
+ expect(plugin.metadata.tags).toContain(tag);
50
+ }
51
+ }
52
+ }
53
+ /**
54
+ * Verify detection result matches expected confidence and patterns
55
+ *
56
+ * Reduces duplication in detect() tests by consolidating confidence checks,
57
+ * pattern verification, and reason validation.
58
+ *
59
+ * @param plugin - The extractor plugin
60
+ * @param output - Test output string to detect
61
+ * @param expected - Expected detection results
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Exact confidence
66
+ * expectDetection(vitestPlugin, sampleOutput, {
67
+ * confidence: 90,
68
+ * patterns: ['Vitest', 'test failure marker'],
69
+ * reasonContains: 'Vitest'
70
+ * });
71
+ *
72
+ * // Confidence range
73
+ * expectDetection(vitestPlugin, sampleOutput, {
74
+ * confidence: { min: 70, max: 95 },
75
+ * reasonContains: 'Vitest'
76
+ * });
77
+ *
78
+ * // No detection
79
+ * expectDetection(vitestPlugin, 'random text', {
80
+ * confidence: 0
81
+ * });
82
+ * ```
83
+ */
84
+ export function expectDetection(plugin, output, expected) {
85
+ const result = plugin.detect(output);
86
+ // Check confidence (exact value or range)
87
+ if (typeof expected.confidence === 'number') {
88
+ expect(result.confidence).toBe(expected.confidence);
89
+ }
90
+ else {
91
+ if (expected.confidence.min !== undefined) {
92
+ expect(result.confidence).toBeGreaterThanOrEqual(expected.confidence.min);
93
+ }
94
+ if (expected.confidence.max !== undefined) {
95
+ expect(result.confidence).toBeLessThanOrEqual(expected.confidence.max);
96
+ }
97
+ }
98
+ // Check patterns
99
+ if (expected.patterns !== undefined) {
100
+ for (const pattern of expected.patterns) {
101
+ expect(result.patterns).toContain(pattern);
102
+ }
103
+ }
104
+ // Check reason
105
+ if (expected.reasonContains !== undefined) {
106
+ expect(result.reason).toContain(expected.reasonContains);
107
+ }
108
+ }
109
+ /**
110
+ * Verify extraction result structure matches expected values
111
+ *
112
+ * Reduces duplication in extract() tests by consolidating common assertions
113
+ * for error count, summary, guidance, and errorSummary.
114
+ *
115
+ * @param result - Extract result to verify
116
+ * @param expected - Expected result structure
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const result = extract(output);
121
+ * expectExtractionResult(result, {
122
+ * errorCount: 3,
123
+ * summaryPattern: '3 test failure(s)',
124
+ * guidanceContains: ['Fix each failing test'],
125
+ * errorSummaryContains: ['Test 1/3']
126
+ * });
127
+ *
128
+ * // With regex
129
+ * expectExtractionResult(result, {
130
+ * errorCount: 5,
131
+ * summaryPattern: /5 (test|error)/,
132
+ * });
133
+ * ```
134
+ */
135
+ export function expectExtractionResult(result, expected) {
136
+ expect(result.errors).toHaveLength(expected.errorCount);
137
+ expect(result.totalErrors).toBe(expected.errorCount);
138
+ if (expected.summaryPattern !== undefined) {
139
+ if (typeof expected.summaryPattern === 'string') {
140
+ expect(result.summary).toBe(expected.summaryPattern);
141
+ }
142
+ else {
143
+ expect(result.summary).toMatch(expected.summaryPattern);
144
+ }
145
+ }
146
+ if (expected.guidanceContains !== undefined) {
147
+ for (const text of expected.guidanceContains) {
148
+ expect(result.guidance).toContain(text);
149
+ }
150
+ }
151
+ if (expected.errorSummaryContains !== undefined) {
152
+ for (const text of expected.errorSummaryContains) {
153
+ expect(result.errorSummary).toContain(text);
154
+ }
155
+ }
156
+ }
157
+ /**
158
+ * Verify empty or no-match output behavior
159
+ *
160
+ * Reduces duplication in edge case tests by consolidating assertions for
161
+ * empty string and non-matching output scenarios.
162
+ *
163
+ * @param extractFn - Extract function to test
164
+ * @param expectedSummary - Expected summary for empty/no-match cases (string or regex)
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * expectEmptyExtraction(vitestPlugin.extract, '0 test failure(s)');
169
+ * expectEmptyExtraction(eslintPlugin.extract, '0 ESLint error(s), 0 warning(s)');
170
+ * expectEmptyExtraction(junitPlugin.extract, /0 test.*failed/);
171
+ * ```
172
+ */
173
+ export function expectEmptyExtraction(extractFn, expectedSummary) {
174
+ const result = extractFn('');
175
+ expect(result.errors).toHaveLength(0);
176
+ expect(result.totalErrors).toBe(0);
177
+ if (typeof expectedSummary === 'string') {
178
+ expect(result.summary).toBe(expectedSummary);
179
+ }
180
+ else {
181
+ expect(result.summary).toMatch(expectedSummary);
182
+ }
183
+ }
184
+ /**
185
+ * Verify individual error object fields match expected values
186
+ *
187
+ * Reduces duplication in error validation tests by consolidating assertions
188
+ * for file, line, column, message, severity, and code fields.
189
+ *
190
+ * @param error - The error object to verify
191
+ * @param expected - Expected field values
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * // Basic fields
196
+ * expectErrorObject(result.errors[0], {
197
+ * file: 'test/example.test.ts',
198
+ * line: 57,
199
+ * column: 30,
200
+ * messageContains: 'expected 3000 to be 9999'
201
+ * });
202
+ *
203
+ * // Multiple message fragments
204
+ * expectErrorObject(result.errors[0], {
205
+ * file: 'src/index.ts',
206
+ * line: 42,
207
+ * messageContains: ['Type error', 'not assignable'],
208
+ * severity: 'error',
209
+ * code: 'TS2322'
210
+ * });
211
+ * ```
212
+ */
213
+ export function expectErrorObject(error, expected) {
214
+ if (expected.file !== undefined) {
215
+ expect(error.file).toBe(expected.file);
216
+ }
217
+ if (expected.line !== undefined) {
218
+ expect(error.line).toBe(expected.line);
219
+ }
220
+ if (expected.column !== undefined) {
221
+ expect(error.column).toBe(expected.column);
222
+ }
223
+ if (expected.messageContains !== undefined) {
224
+ const messages = Array.isArray(expected.messageContains)
225
+ ? expected.messageContains
226
+ : [expected.messageContains];
227
+ for (const msg of messages) {
228
+ expect(error.message).toContain(msg);
229
+ }
230
+ }
231
+ if (expected.severity !== undefined) {
232
+ expect(error.severity).toBe(expected.severity);
233
+ }
234
+ if (expected.code !== undefined) {
235
+ expect(error.code).toBe(expected.code);
236
+ }
237
+ }
238
+ //# sourceMappingURL=extractor-test-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractor-test-helpers.js","sourceRoot":"","sources":["../../../src/test/helpers/extractor-test-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Shared test helper for MAX_ERRORS_IN_ARRAY truncation behavior
3
+ *
4
+ * Eliminates duplication across extractor tests that verify error array truncation.
5
+ *
6
+ * @package @vibe-validate/extractors
7
+ */
8
+ import type { ErrorExtractorResult } from '../../types.js';
9
+ /**
10
+ * Options for MAX_ERRORS_IN_ARRAY truncation assertion
11
+ */
12
+ interface MaxErrorsOptions {
13
+ /** Expected totalErrors count (e.g., 15) */
14
+ totalCount: number;
15
+ /** Expected value for first error (file or message content) */
16
+ firstError: string;
17
+ /** Expected value for last kept error at index 9 (file or message content) */
18
+ lastTruncatedError: string;
19
+ /** Regex or string to match in summary (e.g., "15 test failure(s)") */
20
+ summaryPattern: string | RegExp;
21
+ /** Field to check ('file' or 'message'). Defaults to 'file' */
22
+ checkField?: 'file' | 'message';
23
+ /** For 'message' field, use contains check instead of exact match */
24
+ messageContains?: boolean;
25
+ }
26
+ /**
27
+ * Assert MAX_ERRORS_IN_ARRAY truncation behavior
28
+ *
29
+ * Verifies that extractors correctly:
30
+ * 1. Preserve full error count in totalErrors
31
+ * 2. Truncate errors array to MAX_ERRORS_IN_ARRAY
32
+ * 3. Return first N errors in order
33
+ * 4. Include full count in summary
34
+ *
35
+ * @param result - Extraction result to verify
36
+ * @param options - Assertion options
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Check file field (default)
41
+ * const result = extract(fifteenErrors);
42
+ * await expectMaxErrorsTruncation(result, {
43
+ * totalCount: 15,
44
+ * firstError: 'file1.ts',
45
+ * lastTruncatedError: 'file10.ts',
46
+ * summaryPattern: '15 test failure(s)'
47
+ * });
48
+ *
49
+ * // Check message field with contains
50
+ * await expectMaxErrorsTruncation(result, {
51
+ * totalCount: 15,
52
+ * firstError: 'test 1',
53
+ * lastTruncatedError: 'test 10',
54
+ * summaryPattern: /15 test/,
55
+ * checkField: 'message',
56
+ * messageContains: true
57
+ * });
58
+ * ```
59
+ */
60
+ export declare function expectMaxErrorsTruncation(result: ErrorExtractorResult, options: MaxErrorsOptions): Promise<void>;
61
+ export {};
62
+ //# sourceMappingURL=max-errors-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max-errors-helper.d.ts","sourceRoot":"","sources":["../../../src/test/helpers/max-errors-helper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;GAEG;AACH,UAAU,gBAAgB;IACxB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Shared test helper for MAX_ERRORS_IN_ARRAY truncation behavior
3
+ *
4
+ * Eliminates duplication across extractor tests that verify error array truncation.
5
+ *
6
+ * @package @vibe-validate/extractors
7
+ */
8
+ import { expect } from 'vitest';
9
+ /**
10
+ * Assert MAX_ERRORS_IN_ARRAY truncation behavior
11
+ *
12
+ * Verifies that extractors correctly:
13
+ * 1. Preserve full error count in totalErrors
14
+ * 2. Truncate errors array to MAX_ERRORS_IN_ARRAY
15
+ * 3. Return first N errors in order
16
+ * 4. Include full count in summary
17
+ *
18
+ * @param result - Extraction result to verify
19
+ * @param options - Assertion options
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Check file field (default)
24
+ * const result = extract(fifteenErrors);
25
+ * await expectMaxErrorsTruncation(result, {
26
+ * totalCount: 15,
27
+ * firstError: 'file1.ts',
28
+ * lastTruncatedError: 'file10.ts',
29
+ * summaryPattern: '15 test failure(s)'
30
+ * });
31
+ *
32
+ * // Check message field with contains
33
+ * await expectMaxErrorsTruncation(result, {
34
+ * totalCount: 15,
35
+ * firstError: 'test 1',
36
+ * lastTruncatedError: 'test 10',
37
+ * summaryPattern: /15 test/,
38
+ * checkField: 'message',
39
+ * messageContains: true
40
+ * });
41
+ * ```
42
+ */
43
+ export async function expectMaxErrorsTruncation(result, options) {
44
+ const { totalCount, firstError, lastTruncatedError, summaryPattern, checkField = 'file', messageContains = false } = options;
45
+ // Import MAX_ERRORS_IN_ARRAY to verify we're testing the right value
46
+ const { MAX_ERRORS_IN_ARRAY } = await import('../../result-schema.js');
47
+ // totalErrors should preserve full count
48
+ expect(result.totalErrors).toBe(totalCount);
49
+ // errors array should be truncated to MAX_ERRORS_IN_ARRAY
50
+ expect(result.errors).toHaveLength(MAX_ERRORS_IN_ARRAY);
51
+ expect(result.errors).toHaveLength(10); // Explicit check for documentation
52
+ // Verify we got the first N errors (in order)
53
+ if (checkField === 'file') {
54
+ expect(result.errors[0].file).toBe(firstError);
55
+ expect(result.errors[9].file).toBe(lastTruncatedError);
56
+ }
57
+ else if (messageContains) {
58
+ // Check message field with contains
59
+ expect(result.errors[0].message).toContain(firstError);
60
+ expect(result.errors[9].message).toContain(lastTruncatedError);
61
+ }
62
+ else {
63
+ // Check message field with exact match
64
+ expect(result.errors[0].message).toBe(firstError);
65
+ expect(result.errors[9].message).toBe(lastTruncatedError);
66
+ }
67
+ // Summary should show full count
68
+ if (typeof summaryPattern === 'string') {
69
+ expect(result.summary).toBe(summaryPattern);
70
+ }
71
+ else {
72
+ expect(result.summary).toMatch(summaryPattern);
73
+ }
74
+ }
75
+ //# sourceMappingURL=max-errors-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max-errors-helper.js","sourceRoot":"","sources":["../../../src/test/helpers/max-errors-helper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAA4B,EAC5B,OAAyB;IAEzB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,GAAG,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAE7H,qEAAqE;IACrE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAEvE,yCAAyC;IACzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE5C,0DAA0D;IAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;IAE3E,8CAA8C;IAC9C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,eAAe,EAAE,CAAC;QAC3B,oCAAoC;QACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5D,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}