From 8f074296c2ffb20521e2ad1bbbb3dc8f2194cae6 Mon Sep 17 00:00:00 2001 From: JiaLiPassion Date: Sat, 1 Aug 2020 04:43:05 +0900 Subject: [PATCH] feat(core): rename async to waitForAsync to avoid confusing (#37583) @angular/core/testing provide `async` test utility, but the name `async` is confusing with the javascript keyword `async`. And in some test case, if you want to use both the `async` from `@angular/core/testing` and `async/await`, you may have to write the code like this. ```typescript it('test async operations', async(async() => { const result = await asyncMethod(); expect(result).toEqual('expected'); })); ``` So in this PR, the `async` is renamed to `waitForAsync` and also deprecate `async`. PR Close #37583 --- packages/core/testing/src/async.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/core/testing/src/async.ts b/packages/core/testing/src/async.ts index 31d12f3d0d..eac783214c 100644 --- a/packages/core/testing/src/async.ts +++ b/packages/core/testing/src/async.ts @@ -16,7 +16,7 @@ import {asyncFallback} from './async_fallback'; * Example: * * ``` - * it('...', async(inject([AClass], (object) => { + * it('...', waitForAsync(inject([AClass], (object) => { * object.doSomething.then(() => { * expect(...); * }) @@ -25,12 +25,12 @@ import {asyncFallback} from './async_fallback'; * * @publicApi */ -export function async(fn: Function): (done: any) => any { +export function waitForAsync(fn: Function): (done: any) => any { const _Zone: any = typeof Zone !== 'undefined' ? Zone : null; if (!_Zone) { return function() { return Promise.reject( - 'Zone is needed for the async() test helper but could not be found. ' + + 'Zone is needed for the waitForAsync() test helper but could not be found. ' + 'Please make sure that your environment includes zone.js/dist/zone.js'); }; } @@ -43,3 +43,12 @@ export function async(fn: Function): (done: any) => any { // newest version of zone.js(0.8.25) return asyncFallback(fn); } + +/** + * @deprecated use `waitForAsync()`, (expected removal in v12) + * @see {@link waitForAsync} + * @publicApi + * */ +export function async(fn: Function): (done: any) => any { + return waitForAsync(fn); +}