diff options
Diffstat (limited to 'src/ngMock/angular-mocks.js')
| -rw-r--r-- | src/ngMock/angular-mocks.js | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 9a45939c..efde0f3a 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -1656,6 +1656,34 @@ angular.mock.$TimeoutDecorator = function($delegate, $browser) {    return $delegate;  }; +angular.mock.$RAFDecorator = function($delegate) { +  var queue = []; +  var rafFn = function(fn) { +    var index = queue.length; +    queue.push(fn); +    return function() { +      queue.splice(index, 1); +    }; +  }; + +  rafFn.supported = $delegate.supported; + +  rafFn.flush = function() { +    if(queue.length === 0) { +      throw new Error('No rAF callbacks present'); +    } + +    var length = queue.length; +    for(var i=0;i<length;i++) { +      queue[i](); +    } + +    queue = []; +  }; + +  return rafFn; +}; +  /**   *   */ @@ -1689,6 +1717,7 @@ angular.module('ngMock', ['ng']).provider({    $rootElement: angular.mock.$RootElementProvider  }).config(['$provide', function($provide) {    $provide.decorator('$timeout', angular.mock.$TimeoutDecorator); +  $provide.decorator('$$rAF', angular.mock.$RAFDecorator);  }]);  /** | 
