2016-06-23 12:47:54 -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
|
|
|
|
*/
|
|
|
|
|
2016-06-23 20:10:22 -04:00
|
|
|
import {describe, discardPeriodicTasks, expect, fakeAsync, it, tick} from '@angular/core/testing';
|
2016-06-08 19:38:52 -04:00
|
|
|
|
2015-12-03 18:49:09 -05: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 20:10:22 -04:00
|
|
|
it('aborts a periodic timer', <any>fakeAsync((): void => {
|
2015-12-03 18:49:09 -05: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 20:10:22 -04:00
|
|
|
setInterval(() => {}, 100);
|
2015-12-03 18:49:09 -05:00
|
|
|
|
|
|
|
// Unless we clean it up first.
|
2016-06-23 20:10:22 -04:00
|
|
|
discardPeriodicTasks();
|
2015-12-03 18:49:09 -05:00
|
|
|
}));
|
|
|
|
});
|
2016-04-28 20:50:03 -04:00
|
|
|
// #enddocregion
|