@@ -454,17 +454,17 @@ angular.mock.$LogProvider = function() {
454
454
* @returns {promise } A promise which will be notified on each iteration.
455
455
*/
456
456
angular . mock . $IntervalProvider = function ( ) {
457
- this . $get = [ '$rootScope' , '$q' ,
458
- function ( $rootScope , $q ) {
457
+ this . $get = [ '$browser' , '$ rootScope', '$q' , '$ $q',
458
+ function ( $browser , $ rootScope, $q , $ $q) {
459
459
var repeatFns = [ ] ,
460
460
nextRepeatId = 0 ,
461
461
now = 0 ;
462
462
463
463
var $interval = function ( fn , delay , count , invokeApply ) {
464
- var deferred = $q . defer ( ) ,
465
- promise = deferred . promise ,
466
- iteration = 0 ,
467
- skipApply = ( angular . isDefined ( invokeApply ) && ! invokeApply ) ;
464
+ var iteration = 0 ,
465
+ skipApply = ( angular . isDefined ( invokeApply ) && ! invokeApply ) ,
466
+ deferred = ( skipApply ? $$q : $q ) . defer ( ) ,
467
+ promise = deferred . promise ;
468
468
469
469
count = ( angular . isDefined ( count ) ) ? count : 0 ;
470
470
promise . then ( null , null , fn ) ;
@@ -487,7 +487,11 @@ angular.mock.$IntervalProvider = function() {
487
487
}
488
488
}
489
489
490
- if ( ! skipApply ) $rootScope . $apply ( ) ;
490
+ if ( skipApply ) {
491
+ $browser . defer . flush ( ) ;
492
+ } else {
493
+ $rootScope . $apply ( ) ;
494
+ }
491
495
}
492
496
493
497
repeatFns . push ( {
0 commit comments