@@ -351,6 +351,75 @@ describe('ngMock', function() {
351
351
} ) ) ;
352
352
353
353
354
+ it ( 'should allow you to NOT specify the delay time' , inject ( function ( $interval ) {
355
+ var counterA = 0 ;
356
+ var counterB = 0 ;
357
+
358
+ $interval ( function ( ) { counterA ++ ; } ) ;
359
+ $interval ( function ( ) { counterB ++ ; } , 0 ) ;
360
+
361
+ $interval . flush ( 1000 ) ;
362
+ expect ( counterA ) . toBe ( 1000 ) ;
363
+ expect ( counterB ) . toBe ( 1000 ) ;
364
+ $interval . flush ( 1000 ) ;
365
+ expect ( counterA ) . toBe ( 2000 ) ;
366
+ expect ( counterB ) . toBe ( 2000 ) ;
367
+ } ) ) ;
368
+
369
+
370
+ it ( 'should run tasks in correct relative order' , inject ( function ( $interval ) {
371
+ var counterA = 0 ;
372
+ var counterB = 0 ;
373
+ $interval ( function ( ) { counterA ++ ; } , 0 ) ;
374
+ $interval ( function ( ) { counterB ++ ; } , 1000 ) ;
375
+
376
+ $interval . flush ( 1000 ) ;
377
+ expect ( counterA ) . toBe ( 1000 ) ;
378
+ expect ( counterB ) . toBe ( 1 ) ;
379
+ $interval . flush ( 999 ) ;
380
+ expect ( counterA ) . toBe ( 1999 ) ;
381
+ expect ( counterB ) . toBe ( 1 ) ;
382
+ $interval . flush ( 1 ) ;
383
+ expect ( counterA ) . toBe ( 2000 ) ;
384
+ expect ( counterB ) . toBe ( 2 ) ;
385
+ } ) ) ;
386
+
387
+
388
+ it ( 'should NOT trigger zero-delay interval when flush has ran before' , inject ( function ( $interval ) {
389
+ var counterA = 0 ;
390
+ var counterB = 0 ;
391
+
392
+ $interval . flush ( 100 ) ;
393
+
394
+ $interval ( function ( ) { counterA ++ ; } ) ;
395
+ $interval ( function ( ) { counterB ++ ; } , 0 ) ;
396
+
397
+ expect ( counterA ) . toBe ( 0 ) ;
398
+ expect ( counterB ) . toBe ( 0 ) ;
399
+
400
+ $interval . flush ( 100 ) ;
401
+
402
+ expect ( counterA ) . toBe ( 100 ) ;
403
+ expect ( counterB ) . toBe ( 100 ) ;
404
+ } ) ) ;
405
+
406
+
407
+ it ( 'should trigger zero-delay interval only once on flush zero' , inject ( function ( $interval ) {
408
+ var counterA = 0 ;
409
+ var counterB = 0 ;
410
+
411
+ $interval ( function ( ) { counterA ++ ; } ) ;
412
+ $interval ( function ( ) { counterB ++ ; } , 0 ) ;
413
+
414
+ $interval . flush ( 0 ) ;
415
+ expect ( counterA ) . toBe ( 1 ) ;
416
+ expect ( counterB ) . toBe ( 1 ) ;
417
+ $interval . flush ( 0 ) ;
418
+ expect ( counterA ) . toBe ( 1 ) ;
419
+ expect ( counterB ) . toBe ( 1 ) ;
420
+ } ) ) ;
421
+
422
+
354
423
it ( 'should allow you to specify a number of iterations' , inject ( function ( $interval ) {
355
424
var counter = 0 ;
356
425
$interval ( function ( ) { counter ++ ; } , 1000 , 2 ) ;
0 commit comments