2016-09-18 18:55:08 -04:00
|
|
|
/**
|
|
|
|
* @license
|
|
|
|
* Copyright Google Inc. 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.io/license
|
|
|
|
*/
|
2018-12-14 12:19:26 -05:00
|
|
|
import {isPromise} from '@angular/core/src/util/lang';
|
2016-09-18 18:55:08 -04:00
|
|
|
|
2017-12-15 19:28:41 -05:00
|
|
|
{
|
2016-09-18 18:55:08 -04:00
|
|
|
describe('isPromise', () => {
|
|
|
|
it('should be true for native Promises',
|
|
|
|
() => expect(isPromise(Promise.resolve(true))).toEqual(true));
|
|
|
|
|
|
|
|
it('should be true for thenables', () => expect(isPromise({then: () => {}})).toEqual(true));
|
|
|
|
|
|
|
|
it('should be false if "then" is not a function',
|
|
|
|
() => expect(isPromise({then: 0})).toEqual(false));
|
|
|
|
|
|
|
|
it('should be false if the argument has no "then" function',
|
|
|
|
() => expect(isPromise({})).toEqual(false));
|
|
|
|
|
|
|
|
it('should be false if the argument is undefined or null', () => {
|
|
|
|
expect(isPromise(undefined)).toEqual(false);
|
|
|
|
expect(isPromise(null)).toEqual(false);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|