aboutsummaryrefslogtreecommitdiffstats
path: root/test/service/httpBackendSpec.js
diff options
context:
space:
mode:
authorIgor Minar2011-12-28 09:26:22 -0800
committerVojta Jina2012-01-09 13:17:48 -0800
commita13b5ed3bc337a493029815c595b89c39eb95af6 (patch)
tree2ca5380d5cf5aea68218280cccda5d0221517454 /test/service/httpBackendSpec.js
parent63cca9afbcf7a772086eb4582d2f409c39e0ed12 (diff)
downloadangular.js-a13b5ed3bc337a493029815c595b89c39eb95af6.tar.bz2
fix($http): fix and cleanup $http and friends
$http: - use promises internally - get rid of XhrFuture that was previously used internally - get rid of $browser.defer calls for async stuff (serving from cache), promises will take care of asynchronicity - fix transformation bugs (when caching requested + multiple request pending + error is returned) - get rid of native header parsing and instead just lazily parse the header string $httpBackend: - don't return raw/mock XMLHttpRequest object (we don't use it for anything anymore) - call the callback with response headers string mock $httpBackend: - unify response api for expect and when - call the callback with response headers string - changed the expect/when failure error message so that EXPECTED and GOT values are aligned Conflicts: src/service/http.js test/service/compilerSpec.js test/service/httpSpec.js
Diffstat (limited to 'test/service/httpBackendSpec.js')
-rw-r--r--test/service/httpBackendSpec.js23
1 files changed, 8 insertions, 15 deletions
diff --git a/test/service/httpBackendSpec.js b/test/service/httpBackendSpec.js
index b9bf2b18..1c6d3a51 100644
--- a/test/service/httpBackendSpec.js
+++ b/test/service/httpBackendSpec.js
@@ -58,18 +58,13 @@ describe('$httpBackend', function() {
$backend('POST', 'URL', null, noop, {'X-header1': 'value1', 'X-header2': 'value2'});
xhr = MockXhr.$$lastInstance;
- expect(xhr.$$headers).toEqual({
+ expect(xhr.$$reqHeaders).toEqual({
'X-header1': 'value1',
'X-header2': 'value2'
});
});
- it('should return raw xhr object', function() {
- expect($backend('GET', '/url', null, noop)).toBe(MockXhr.$$lastInstance);
- });
-
-
it('should abort request on timeout', function() {
callback.andCallFake(function(status, response) {
expect(status).toBe(-1);
@@ -91,16 +86,20 @@ describe('$httpBackend', function() {
});
- it('should be async even if xhr.send() is sync', function() {
- // IE6, IE7 is sync when serving from cache
+ it('should register onreadystatechange callback before sending', function() {
+ // send() in IE6, IE7 is sync when serving from cache
function SyncXhr() {
xhr = this;
this.open = this.setRequestHeader = noop;
+
this.send = function() {
this.status = 200;
this.responseText = 'response';
this.readyState = 4;
+ this.onreadystatechange();
};
+
+ this.getAllResponseHeaders = valueFn('');
}
callback.andCallFake(function(status, response) {
@@ -108,14 +107,8 @@ describe('$httpBackend', function() {
expect(response).toBe('response');
});
- $backend = createHttpBackend($browser, SyncXhr, fakeTimeout);
+ $backend = createHttpBackend($browser, SyncXhr);
$backend('GET', '/url', null, callback);
- expect(callback).not.toHaveBeenCalled();
-
- fakeTimeout.flush();
- expect(callback).toHaveBeenCalledOnce();
-
- (xhr.onreadystatechange || noop)();
expect(callback).toHaveBeenCalledOnce();
});