From aa2b85affbf485179b50b50a5b71120d2d1abb18 Mon Sep 17 00:00:00 2001 From: Spencer Williams Date: Tue, 24 Jun 2014 11:51:35 -0400 Subject: [PATCH 1/2] Added definition for $interval.flush([millis]) ngMock's $interval includes a flush method that takes an optional maximum number of milliseconds to advance the interval, and returns the number of milliseconds that were actually advanced. --- angularjs/angular-mocks.d.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/angularjs/angular-mocks.d.ts b/angularjs/angular-mocks.d.ts index 34b534a5e..6db753e1f 100644 --- a/angularjs/angular-mocks.d.ts +++ b/angularjs/angular-mocks.d.ts @@ -61,6 +61,15 @@ declare module ng { flushNext(expectedDelay?: number): void; verifyNoPendingTasks(): void; } + + /////////////////////////////////////////////////////////////////////////// + // IntervalService + // see http://docs.angularjs.org/api/ngMock.$interval + // Augments the original service + /////////////////////////////////////////////////////////////////////////// + interface IIntervalService { + flush(millis?: number): number; + } /////////////////////////////////////////////////////////////////////////// // LogService From 55731eb21180af095180ad11c1bfb9e2c009ead6 Mon Sep 17 00:00:00 2001 From: Spencer Williams Date: Tue, 24 Jun 2014 11:55:52 -0400 Subject: [PATCH 2/2] Test for IIntervalService#flush --- angularjs/angular-mocks-tests.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/angularjs/angular-mocks-tests.ts b/angularjs/angular-mocks-tests.ts index 64df49d8a..e9cd21642 100644 --- a/angularjs/angular-mocks-tests.ts +++ b/angularjs/angular-mocks-tests.ts @@ -50,7 +50,7 @@ exceptionHandlerProvider.mode('log'); /////////////////////////////////////// -// IExceptionHandlerProvider +// ITimeoutService /////////////////////////////////////// var timeoutService: ng.ITimeoutService; @@ -60,6 +60,14 @@ timeoutService.flushNext(); timeoutService.flushNext(1234); timeoutService.verifyNoPendingTasks(); +//////////////////////////////////////// +// IIntervalService +//////////////////////////////////////// +var intervalService: ng.IIntervalService; +var intervalServiceTimeActuallyAdvanced: number; + +intervalServiceTimeActuallyAdvanced = intervalService.flush(); +intervalServiceTimeActuallyAdvanced = intervalService.flush(1234); /////////////////////////////////////// // ILogService, ILogCall