diff options
| author | Karl Seamon | 2013-12-06 14:35:34 -0500 | 
|---|---|---|
| committer | Brian Ford | 2013-12-11 15:18:45 -0800 | 
| commit | f69dc16241c8b631123ad0b09674f0a5e0ff32fe (patch) | |
| tree | 7c3845c1de4da3daa05977ecab657b0bc0c9835e /src/ngMock/angular-mocks.js | |
| parent | f1a8d419d529ced136441d0eae5f4dd474a8c8ff (diff) | |
| download | angular.js-f69dc16241c8b631123ad0b09674f0a5e0ff32fe.tar.bz2 | |
fix(angular-mocks): use copy of mock data in $httpBackend
Copy mock data returned from the mock $httpBackend.
This prevents modifications to the response from affecting future responses.
Previously, this misbehavior was being mitigated by the deep copy in $resource, but that no longer exists.
Diffstat (limited to 'src/ngMock/angular-mocks.js')
| -rw-r--r-- | src/ngMock/angular-mocks.js | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 24b8d84b..d11ef0c1 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -1087,7 +1087,8 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {    var definitions = [],        expectations = [],        responses = [], -      responsesPush = angular.bind(responses, responses.push); +      responsesPush = angular.bind(responses, responses.push), +      copy = angular.copy;    function createResponse(status, data, headers) {      if (angular.isFunction(status)) return status; @@ -1119,7 +1120,7 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {        function handleResponse() {          var response = wrapped.response(method, url, data, headers);          xhr.$$respHeaders = response[2]; -        callback(response[0], response[1], xhr.getAllResponseHeaders()); +        callback(copy(response[0]), copy(response[1]), xhr.getAllResponseHeaders());        }        function handleTimeout() { | 
