diff options
| author | Karl Seamon | 2011-07-29 18:32:30 -0400 |
|---|---|---|
| committer | Igor Minar | 2011-08-19 01:20:45 -0700 |
| commit | 4ec1d8ee86e3138fb91543ca0dca28463895c090 (patch) | |
| tree | 9f7fff13f177317ff15f8804789a44576a151908 /test/service/xhr.cacheSpec.js | |
| parent | c37bfde9eb31556ee1eb146795b0c1f1504a4a26 (diff) | |
| download | angular.js-4ec1d8ee86e3138fb91543ca0dca28463895c090.tar.bz2 | |
feat($xhr,$resource): expose response headers in callbacks
all $xhr*, $resource and related mocks now have access to headers from
their callbacks
Diffstat (limited to 'test/service/xhr.cacheSpec.js')
| -rw-r--r-- | test/service/xhr.cacheSpec.js | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/test/service/xhr.cacheSpec.js b/test/service/xhr.cacheSpec.js index f4654cd4..cd42153f 100644 --- a/test/service/xhr.cacheSpec.js +++ b/test/service/xhr.cacheSpec.js @@ -1,7 +1,7 @@ 'use strict'; describe('$xhr.cache', function() { - var scope, $browser, $browserXhr, $xhrErr, cache, log; + var scope, $browser, $browserXhr, $xhrErr, cache, log, rHeaders; beforeEach(function() { scope = angular.scope({}, null, {'$xhr.error': $xhrErr = jasmine.createSpy('$xhr.error')}); @@ -9,6 +9,7 @@ describe('$xhr.cache', function() { $browserXhr = $browser.xhr; cache = scope.$service('$xhr.cache'); log = ''; + rHeaders = {}; }); @@ -17,18 +18,21 @@ describe('$xhr.cache', function() { }); - function callback(code, response) { + function callback(code, response, responseHeaders) { expect(code).toEqual(200); + expect(responseHeaders()).toEqual(rHeaders); log = log + toJson(response) + ';'; } it('should cache requests', function(){ - $browserXhr.expectGET('/url').respond('first'); + rHeaders = {foo: 'bar'}; + + $browserXhr.expectGET('/url').respond('first', rHeaders); cache('GET', '/url', null, callback); $browserXhr.flush(); - $browserXhr.expectGET('/url').respond('ERROR'); + $browserXhr.expectGET('/url').respond('ERROR', rHeaders); cache('GET', '/url', null, callback); $browser.defer.flush(); expect(log).toEqual('"first";"first";'); @@ -40,11 +44,13 @@ describe('$xhr.cache', function() { it('should first return cache request, then return server request', function(){ - $browserXhr.expectGET('/url').respond('first'); + rHeaders = {foo: 'bar'}; + + $browserXhr.expectGET('/url').respond('first', rHeaders); cache('GET', '/url', null, callback, true); $browserXhr.flush(); - $browserXhr.expectGET('/url').respond('ERROR'); + $browserXhr.expectGET('/url').respond('ERROR', rHeaders); cache('GET', '/url', null, callback, true); $browser.defer.flush(); expect(log).toEqual('"first";"first";'); @@ -55,7 +61,14 @@ describe('$xhr.cache', function() { it('should serve requests from cache', function(){ - cache.data.url = {value:'123'}; + rHeaders = {foo: 'bar'}; + + cache.data.url = { + value: '123', + headers: function() { + return rHeaders; + } + }; cache('GET', 'url', null, callback); $browser.defer.flush(); expect(log).toEqual('"123";'); @@ -152,13 +165,17 @@ describe('$xhr.cache', function() { cache('GET', '/url', null, successSpy, errorSpy, false, true); $browserXhr.flush(); - expect(errorSpy).toHaveBeenCalledWith(500, 'error'); + expect(errorSpy.mostRecentCall.args[0]).toEqual(500); + expect(errorSpy.mostRecentCall.args[1]).toEqual('error'); + expect(errorSpy.mostRecentCall.args[2]()).toEqual({}); expect(successSpy).not.toHaveBeenCalled(); errorSpy.reset(); cache('GET', '/url', successSpy, errorSpy, false, true); $browserXhr.flush(); - expect(errorSpy).toHaveBeenCalledWith(500, 'error'); + expect(errorSpy.mostRecentCall.args[0]).toEqual(500); + expect(errorSpy.mostRecentCall.args[1]).toEqual('error'); + expect(errorSpy.mostRecentCall.args[2]()).toEqual({}); expect(successSpy).not.toHaveBeenCalled(); }); |
