| 
									
										
										
										
											2016-06-23 09:47:54 -07:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @license | 
					
						
							| 
									
										
										
										
											2020-05-19 12:08:49 -07:00
										 |  |  |  * Copyright Google LLC All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2016-06-23 09:47:54 -07:00
										 |  |  |  * | 
					
						
							|  |  |  |  * 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
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-22 19:16:25 -07:00
										 |  |  | import {AsyncPipe, ɵgetDOM as getDOM} from '@angular/common'; | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  | import {ChangeDetectorRef, EventEmitter} from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2017-03-02 12:12:46 -08:00
										 |  |  | import {browserDetection} from '@angular/platform-browser/testing/src/browser_util'; | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  | import {Subscribable, Unsubscribable} from 'rxjs'; | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-16 14:42:55 -08:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |   describe('AsyncPipe', () => { | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |     function getChangeDetectorRefSpy() { | 
					
						
							|  |  |  |       return jasmine.createSpyObj('ChangeDetectorRef', ['markForCheck', 'detectChanges']); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |     describe('Observable', () => { | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |       // only expose methods from the Subscribable interface, to ensure that
 | 
					
						
							|  |  |  |       // the implementation does not rely on other methods:
 | 
					
						
							|  |  |  |       const wrapSubscribable = <T>(input: Subscribable<T>): Subscribable<T> => ({ | 
					
						
							|  |  |  |         subscribe(...args: any): Unsubscribable { | 
					
						
							|  |  |  |           const subscription = input.subscribe(...args); | 
					
						
							|  |  |  |           return { | 
					
						
							|  |  |  |             unsubscribe() { | 
					
						
							|  |  |  |               subscription.unsubscribe(); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |           }; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |       let emitter: EventEmitter<any>; | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |       let subscribable: Subscribable<any>; | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |       let pipe: AsyncPipe; | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |       let ref: ChangeDetectorRef&jasmine.SpyObj<ChangeDetectorRef>; | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |       const message = {}; | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |       beforeEach(() => { | 
					
						
							|  |  |  |         emitter = new EventEmitter(); | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |         subscribable = wrapSubscribable(emitter); | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         ref = getChangeDetectorRefSpy(); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |         pipe = new AsyncPipe(ref); | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |       describe('transform', () => { | 
					
						
							| 
									
										
										
										
											2020-04-13 16:40:21 -07:00
										 |  |  |         it('should return null when subscribing to an observable', () => { | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |           expect(pipe.transform(subscribable)).toBe(null); | 
					
						
							| 
									
										
										
										
											2020-04-13 16:40:21 -07:00
										 |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         it('should return the latest available value', done => { | 
					
						
							|  |  |  |           pipe.transform(subscribable); | 
					
						
							|  |  |  |           emitter.emit(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           setTimeout(() => { | 
					
						
							|  |  |  |             expect(pipe.transform(subscribable)).toEqual(message); | 
					
						
							|  |  |  |             done(); | 
					
						
							|  |  |  |           }, 0); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-25 17:16:50 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         it('should return same value when nothing has changed since the last call', done => { | 
					
						
							|  |  |  |           pipe.transform(subscribable); | 
					
						
							|  |  |  |           emitter.emit(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           setTimeout(() => { | 
					
						
							|  |  |  |             pipe.transform(subscribable); | 
					
						
							|  |  |  |             expect(pipe.transform(subscribable)).toBe(message); | 
					
						
							|  |  |  |             done(); | 
					
						
							|  |  |  |           }, 0); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |         it('should dispose of the existing subscription when subscribing to a new observable', | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |            done => { | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |              pipe.transform(subscribable); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |              const newEmitter = new EventEmitter(); | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |              const newSubscribable = wrapSubscribable(newEmitter); | 
					
						
							|  |  |  |              expect(pipe.transform(newSubscribable)).toBe(null); | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  |              emitter.emit(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |              // this should not affect the pipe
 | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  |              setTimeout(() => { | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |                expect(pipe.transform(newSubscribable)).toBe(null); | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |                done(); | 
					
						
							| 
									
										
										
										
											2016-07-21 17:12:00 -07:00
										 |  |  |              }, 0); | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |            }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         it('should request a change detection check upon receiving a new value', done => { | 
					
						
							|  |  |  |           pipe.transform(subscribable); | 
					
						
							|  |  |  |           emitter.emit(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           setTimeout(() => { | 
					
						
							|  |  |  |             expect(ref.markForCheck).toHaveBeenCalled(); | 
					
						
							|  |  |  |             done(); | 
					
						
							|  |  |  |           }, 10); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2019-04-16 22:32:54 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-14 18:52:32 -07:00
										 |  |  |         it('should return value for unchanged NaN', () => { | 
					
						
							| 
									
										
										
										
											2019-04-16 22:32:54 +08:00
										 |  |  |           emitter.emit(null); | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |           pipe.transform(subscribable); | 
					
						
							| 
									
										
										
										
											2019-04-16 22:32:54 +08:00
										 |  |  |           emitter.next(NaN); | 
					
						
							| 
									
										
										
										
											2020-11-10 16:22:12 +01:00
										 |  |  |           const firstResult = pipe.transform(subscribable); | 
					
						
							|  |  |  |           const secondResult = pipe.transform(subscribable); | 
					
						
							| 
									
										
										
										
											2020-04-14 18:52:32 -07:00
										 |  |  |           expect(firstResult).toBeNaN(); | 
					
						
							| 
									
										
										
										
											2019-04-16 22:32:54 +08:00
										 |  |  |           expect(secondResult).toBeNaN(); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |       }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |       describe('ngOnDestroy', () => { | 
					
						
							| 
									
										
										
										
											2020-04-13 16:40:21 -07:00
										 |  |  |         it('should do nothing when no subscription', () => { | 
					
						
							|  |  |  |           expect(() => pipe.ngOnDestroy()).not.toThrow(); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         it('should dispose of the existing subscription', done => { | 
					
						
							|  |  |  |           pipe.transform(subscribable); | 
					
						
							|  |  |  |           pipe.ngOnDestroy(); | 
					
						
							|  |  |  |           emitter.emit(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           setTimeout(() => { | 
					
						
							|  |  |  |             expect(pipe.transform(subscribable)).toBe(null); | 
					
						
							|  |  |  |             done(); | 
					
						
							|  |  |  |           }, 0); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |       }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-30 16:59:37 +00:00
										 |  |  |     describe('Subscribable', () => { | 
					
						
							|  |  |  |       it('should infer the type from the subscribable', () => { | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         const ref = getChangeDetectorRefSpy(); | 
					
						
							| 
									
										
										
										
											2021-01-30 16:59:37 +00:00
										 |  |  |         const pipe = new AsyncPipe(ref); | 
					
						
							|  |  |  |         const emitter = new EventEmitter<{name: 'T'}>(); | 
					
						
							|  |  |  |         // The following line will fail to compile if the type cannot be inferred.
 | 
					
						
							|  |  |  |         const name = pipe.transform(emitter)?.name; | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |     describe('Promise', () => { | 
					
						
							| 
									
										
										
										
											2019-10-17 02:46:50 +02:00
										 |  |  |       const message = {}; | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |       let pipe: AsyncPipe; | 
					
						
							|  |  |  |       let resolve: (result: any) => void; | 
					
						
							|  |  |  |       let reject: (error: any) => void; | 
					
						
							|  |  |  |       let promise: Promise<any>; | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |       let ref: any; | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |       // adds longer timers for passing tests in IE
 | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |       const timer = (getDOM() && browserDetection.isIE) ? 50 : 10; | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |       beforeEach(() => { | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  |         promise = new Promise((res, rej) => { | 
					
						
							|  |  |  |           resolve = res; | 
					
						
							|  |  |  |           reject = rej; | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         ref = getChangeDetectorRefSpy(); | 
					
						
							|  |  |  |         pipe = new AsyncPipe(ref); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |       }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |       describe('transform', () => { | 
					
						
							| 
									
										
										
										
											2020-04-13 16:40:21 -07:00
										 |  |  |         it('should return null when subscribing to a promise', () => { | 
					
						
							|  |  |  |           expect(pipe.transform(promise)).toBe(null); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         it('should return the latest available value', done => { | 
					
						
							|  |  |  |           pipe.transform(promise); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           resolve(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           setTimeout(() => { | 
					
						
							|  |  |  |             expect(pipe.transform(promise)).toEqual(message); | 
					
						
							|  |  |  |             done(); | 
					
						
							|  |  |  |           }, timer); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         it('should return value when nothing has changed since the last call', done => { | 
					
						
							|  |  |  |           pipe.transform(promise); | 
					
						
							|  |  |  |           resolve(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           setTimeout(() => { | 
					
						
							|  |  |  |             pipe.transform(promise); | 
					
						
							|  |  |  |             expect(pipe.transform(promise)).toBe(message); | 
					
						
							|  |  |  |             done(); | 
					
						
							|  |  |  |           }, timer); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |         it('should dispose of the existing subscription when subscribing to a new promise', | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |            done => { | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  |              pipe.transform(promise); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-12 14:08:58 +01:00
										 |  |  |              promise = new Promise<any>(() => {}); | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  |              expect(pipe.transform(promise)).toBe(null); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  |              resolve(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-02 15:53:34 -07:00
										 |  |  |              setTimeout(() => { | 
					
						
							|  |  |  |                expect(pipe.transform(promise)).toBe(null); | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |                done(); | 
					
						
							| 
									
										
										
										
											2016-07-21 17:12:00 -07:00
										 |  |  |              }, timer); | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |            }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |         it('should request a change detection check upon receiving a new value', done => { | 
					
						
							|  |  |  |           pipe.transform(promise); | 
					
						
							|  |  |  |           resolve(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           setTimeout(() => { | 
					
						
							|  |  |  |             expect(ref.markForCheck).toHaveBeenCalled(); | 
					
						
							|  |  |  |             done(); | 
					
						
							|  |  |  |           }, timer); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  |         describe('ngOnDestroy', () => { | 
					
						
							| 
									
										
										
										
											2020-04-13 16:40:21 -07:00
										 |  |  |           it('should do nothing when no source', () => { | 
					
						
							|  |  |  |             expect(() => pipe.ngOnDestroy()).not.toThrow(); | 
					
						
							|  |  |  |           }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |           it('should dispose of the existing source', done => { | 
					
						
							|  |  |  |             pipe.transform(promise); | 
					
						
							|  |  |  |             expect(pipe.transform(promise)).toBe(null); | 
					
						
							|  |  |  |             resolve(message); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-23 22:16:02 +02:00
										 |  |  |             setTimeout(() => { | 
					
						
							|  |  |  |               expect(pipe.transform(promise)).toEqual(message); | 
					
						
							|  |  |  |               pipe.ngOnDestroy(); | 
					
						
							|  |  |  |               expect(pipe.transform(promise)).toBe(null); | 
					
						
							|  |  |  |               done(); | 
					
						
							|  |  |  |             }, timer); | 
					
						
							|  |  |  |           }); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |         }); | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe('null', () => { | 
					
						
							|  |  |  |       it('should return null when given null', () => { | 
					
						
							| 
									
										
										
										
											2017-03-24 09:54:02 -07:00
										 |  |  |         const pipe = new AsyncPipe(null as any); | 
					
						
							| 
									
										
										
										
											2016-04-22 15:33:32 -07:00
										 |  |  |         expect(pipe.transform(null)).toEqual(null); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |       }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-27 11:27:54 +01:00
										 |  |  |     describe('undefined', () => { | 
					
						
							|  |  |  |       it('should return null when given undefined', () => { | 
					
						
							|  |  |  |         const pipe = new AsyncPipe(null as any); | 
					
						
							|  |  |  |         expect(pipe.transform(undefined)).toEqual(null); | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |     describe('other types', () => { | 
					
						
							|  |  |  |       it('should throw when given an invalid object', () => { | 
					
						
							| 
									
										
										
										
											2017-03-24 09:54:02 -07:00
										 |  |  |         const pipe = new AsyncPipe(null as any); | 
					
						
							| 
									
										
										
										
											2020-03-27 11:27:54 +01:00
										 |  |  |         expect(() => pipe.transform('some bogus object' as any)).toThrowError(); | 
					
						
							| 
									
										
										
										
											2015-08-04 11:55:21 -07:00
										 |  |  |       }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | } |