diff options
| author | Sylvester Keil | 2013-02-26 10:22:12 +0100 | 
|---|---|---|
| committer | James deBoer | 2013-03-27 13:13:59 -0700 | 
| commit | 4ae46814ff4e7c0bbcdbbefc0a97277283a84065 (patch) | |
| tree | 2c5bcbe2d5bcc143043cb989d8b40899eb5ef8f9 /src/ngMock/angular-mocks.js | |
| parent | 5c735eb4ab07144a62949472ed388cb185099201 (diff) | |
| download | angular.js-4ae46814ff4e7c0bbcdbbefc0a97277283a84065.tar.bz2 | |
feat(http): support request/response promise chaining
myApp.factory('myAroundInterceptor', function($rootScope, $timeout) {
    return function(configPromise, responsePromise) {
        return {
            request: configPromise.then(function(config) {
                return config
            });
            response: responsePromise.then(function(response) {
                return 'ha!';
            }
        });
}
myApp.config(function($httpProvider){
    $httpProvider.aroundInterceptors.push('myAroundInterceptor');
});
Diffstat (limited to 'src/ngMock/angular-mocks.js')
| -rw-r--r-- | src/ngMock/angular-mocks.js | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 8c91e628..3980a391 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -826,7 +826,7 @@ angular.mock.dump = function(object) {     </pre>   */  angular.mock.$HttpBackendProvider = function() { -  this.$get = [createHttpBackendMock]; +  this.$get = ['$rootScope', createHttpBackendMock];  };  /** @@ -843,7 +843,7 @@ angular.mock.$HttpBackendProvider = function() {   * @param {Object=} $browser Auto-flushing enabled if specified   * @return {Object} Instance of $httpBackend mock   */ -function createHttpBackendMock($delegate, $browser) { +function createHttpBackendMock($rootScope, $delegate, $browser) {    var definitions = [],        expectations = [],        responses = [], @@ -1173,6 +1173,7 @@ function createHttpBackendMock($delegate, $browser) {     *   is called an exception is thrown (as this typically a sign of programming error).     */    $httpBackend.flush = function(count) { +    $rootScope.$digest();      if (!responses.length) throw Error('No pending request to flush !');      if (angular.isDefined(count)) { @@ -1205,6 +1206,7 @@ function createHttpBackendMock($delegate, $browser) {     * </pre>     */    $httpBackend.verifyNoOutstandingExpectation = function() { +    $rootScope.$digest();      if (expectations.length) {        throw Error('Unsatisfied requests: ' + expectations.join(', '));      } @@ -1606,7 +1608,7 @@ angular.module('ngMockE2E', ['ng']).config(function($provide) {   *   control how a matched request is handled.   */  angular.mock.e2e = {}; -angular.mock.e2e.$httpBackendDecorator = ['$delegate', '$browser', createHttpBackendMock]; +angular.mock.e2e.$httpBackendDecorator = ['$rootScope', '$delegate', '$browser', createHttpBackendMock];  angular.mock.clearDataCache = function() { | 
