(
files: DiscoveredTestFile[],
selectors: { onlyTesting: TestSelector[]; skipTesting: TestSelector[] },
)
| 330 | } |
| 331 | |
| 332 | function applySelectors( |
| 333 | files: DiscoveredTestFile[], |
| 334 | selectors: { onlyTesting: TestSelector[]; skipTesting: TestSelector[] }, |
| 335 | ): DiscoveredTestFile[] { |
| 336 | return files |
| 337 | .map((file) => { |
| 338 | let tests = file.tests; |
| 339 | if (selectors.onlyTesting.length > 0) { |
| 340 | tests = tests.filter((test) => |
| 341 | selectors.onlyTesting.some((selector) => selectorMatches(test, selector)), |
| 342 | ); |
| 343 | } |
| 344 | if (selectors.skipTesting.length > 0) { |
| 345 | tests = tests.filter( |
| 346 | (test) => !selectors.skipTesting.some((selector) => selectorMatches(test, selector)), |
| 347 | ); |
| 348 | } |
| 349 | return { |
| 350 | ...file, |
| 351 | tests, |
| 352 | }; |
| 353 | }) |
| 354 | .filter((file) => file.tests.length > 0); |
| 355 | } |
| 356 | |
| 357 | export async function resolveTestPreflight( |
| 358 | params: { |
no test coverage detected