From 54581d36df74ac128a078aafb3e4b66e0b1599f3 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 16 Jan 2012 02:57:35 -0800 Subject: fix(e2e $httpBackend): use browser.defer instead of $defer this is necessary to avoid $apply from within $apply situations --- src/angular-mocks.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/angular-mocks.js b/src/angular-mocks.js index 3bc31989..0e6c5143 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -760,15 +760,15 @@ angular.mock.$HttpBackendProvider = function() { * - passing through is disabled * - auto flushing is disabled * - * Returns instance for e2e testing (when `$delegate` and `$defer` specified): + * Returns instance for e2e testing (when `$delegate` and `$browser` specified): * - passing through (delegating request to real backend) is enabled * - auto flushing is enabled * * @param {Object=} $delegate Real $httpBackend instance (allow passing through if specified) - * @param {Object=} $defer Auto-flushing enabled if specified + * @param {Object=} $browser Auto-flushing enabled if specified * @return {Object} Instance of $httpBackend mock */ -function createHttpBackendMock($delegate, $defer) { +function createHttpBackendMock($delegate, $browser) { var definitions = [], expectations = [], responses = [], @@ -823,8 +823,8 @@ function createHttpBackendMock($delegate, $defer) { while ((definition = definitions[++i])) { if (definition.match(method, url, data, headers || {})) { if (definition.response) { - // if $defer specified, we do auto flush all requests - ($defer ? $defer : responsesPush)(function() { + // if $browser specified, we do auto flush all requests + ($browser ? $browser.defer : responsesPush)(function() { var response = definition.response(method, url, data, headers); xhr.$$respHeaders = response[2]; callback(response[0], response[1], xhr.getAllResponseHeaders()); @@ -869,7 +869,7 @@ function createHttpBackendMock($delegate, $defer) { } }; - if ($defer) { + if ($browser) { chain.passThrough = function() { definition.passThrough = true; }; @@ -1442,7 +1442,7 @@ angular.module('ngMockE2E', ['ng']).config(function($provide) { * control how a matched request is handled. */ angular.mock.e2e = {}; -angular.mock.e2e.$httpBackendDecorator = ['$delegate', '$defer', createHttpBackendMock]; +angular.mock.e2e.$httpBackendDecorator = ['$delegate', '$browser', createHttpBackendMock]; -- cgit v1.2.3