1
0
mirror of https://github.com/angular/angular-cli.git synced 2025-05-16 02:24:10 +08:00
Alan Agius aed726fca3 fix(@angular/build): add timeout to route extraction
This commit introduces a 30-second timeout for route extraction.
2024-11-27 16:48:33 -05:00

37 lines
1.0 KiB
TypeScript

/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import { setTimeout } from 'node:timers/promises';
import { promiseWithAbort } from '../../src/utils/promise';
describe('promiseWithAbort', () => {
it('should reject with an AbortError when the signal is aborted', async () => {
const abortController = new AbortController();
const promise = promiseWithAbort(setTimeout(500), abortController.signal, 'Test operation');
queueMicrotask(() => {
abortController.abort('Test reason');
});
await expectAsync(promise).toBeRejectedWithError();
});
it('should not reject if the signal is not aborted', async () => {
const promise = promiseWithAbort(
setTimeout(100),
AbortSignal.timeout(10_000),
'Test operation',
);
// Wait briefly to ensure no rejection occurs
await setTimeout(20);
await expectAsync(promise).toBeResolved();
});
});