| 
									
										
										
										
											2016-06-23 09:47:54 -07: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
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-11 16:04:32 -07:00
										 |  |  | import {discardPeriodicTasks, fakeAsync, tick} from '@angular/core/testing'; | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-03 15:49:09 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | // #docregion basic
 | 
					
						
							|  |  |  | describe('this test', () => { | 
					
						
							|  |  |  |   it('looks async but is synchronous', <any>fakeAsync((): void => { | 
					
						
							|  |  |  |        var flag = false; | 
					
						
							|  |  |  |        setTimeout(() => { flag = true; }, 100); | 
					
						
							|  |  |  |        expect(flag).toBe(false); | 
					
						
							|  |  |  |        tick(50); | 
					
						
							|  |  |  |        expect(flag).toBe(false); | 
					
						
							|  |  |  |        tick(50); | 
					
						
							|  |  |  |        expect(flag).toBe(true); | 
					
						
							|  |  |  |      })); | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | // #enddocregion
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // #docregion pending
 | 
					
						
							|  |  |  | describe('this test', () => { | 
					
						
							| 
									
										
										
										
											2016-06-23 17:10:22 -07:00
										 |  |  |   it('aborts a periodic timer', <any>fakeAsync((): void => { | 
					
						
							| 
									
										
										
										
											2015-12-03 15:49:09 -08:00
										 |  |  |        // This timer is scheduled but doesn't need to complete for the
 | 
					
						
							|  |  |  |        // test to pass (maybe it's a timeout for some operation).
 | 
					
						
							|  |  |  |        // Leaving it will cause the test to fail...
 | 
					
						
							| 
									
										
										
										
											2016-06-23 17:10:22 -07:00
										 |  |  |        setInterval(() => {}, 100); | 
					
						
							| 
									
										
										
										
											2015-12-03 15:49:09 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |        // Unless we clean it up first.
 | 
					
						
							| 
									
										
										
										
											2016-06-23 17:10:22 -07:00
										 |  |  |        discardPeriodicTasks(); | 
					
						
							| 
									
										
										
										
											2015-12-03 15:49:09 -08:00
										 |  |  |      })); | 
					
						
							|  |  |  | }); | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | // #enddocregion
 |