aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorPawel Kozlowski2014-03-01 12:49:47 +0100
committerVojta Jina2014-03-14 13:44:56 -0700
commit56e73ea355c851fdfd574d6d2a9e2fcb75677945 (patch)
tree38c360d35f0fed36e353f04f1792bc27592e5186 /test
parentbfb6af7053f3f3949e97eb074c11d907d1534a89 (diff)
downloadangular.js-56e73ea355c851fdfd574d6d2a9e2fcb75677945.tar.bz2
fix($http): don't covert 0 status codes to 404 for non-file protocols
PR #5547 introduced conversion of all 0 status codes to 404 for cases where no response was recieved (previously this was done for the file:// protocol only). But this mechanism is too eager and masks legitimate cases where status 0 should be returned. This commits reverts to the previous mechanism of handling 0 status code for the file:// protocol (converting 0 to 404) while retaining the returned status code 0 for all the protocols other than file:// Fixes #6074 Fixes #6155
Diffstat (limited to 'test')
-rw-r--r--test/ng/httpBackendSpec.js30
1 files changed, 24 insertions, 6 deletions
diff --git a/test/ng/httpBackendSpec.js b/test/ng/httpBackendSpec.js
index 2a3f6012..5c9cbf58 100644
--- a/test/ng/httpBackendSpec.js
+++ b/test/ng/httpBackendSpec.js
@@ -456,27 +456,45 @@ describe('$httpBackend', function() {
}
- it('should convert 0 to 200 if content', function() {
+ it('should convert 0 to 200 if content and file protocol', function() {
$backend = createHttpBackend($browser, createMockXhr);
- $backend('GET', 'someProtocol:///whatever/index.html', null, callback);
+ $backend('GET', 'file:///whatever/index.html', null, callback);
respond(0, 'SOME CONTENT');
expect(callback).toHaveBeenCalled();
expect(callback.mostRecentCall.args[0]).toBe(200);
});
-
- it('should convert 0 to 404 if no content', function() {
+ it('should convert 0 to 200 if content for protocols other than file', function() {
$backend = createHttpBackend($browser, createMockXhr);
$backend('GET', 'someProtocol:///whatever/index.html', null, callback);
+ respond(0, 'SOME CONTENT');
+
+ expect(callback).toHaveBeenCalled();
+ expect(callback.mostRecentCall.args[0]).toBe(200);
+ });
+
+ it('should convert 0 to 404 if no content and file protocol', function() {
+ $backend = createHttpBackend($browser, createMockXhr);
+
+ $backend('GET', 'file:///whatever/index.html', null, callback);
respond(0, '');
expect(callback).toHaveBeenCalled();
expect(callback.mostRecentCall.args[0]).toBe(404);
});
+ it('should not convert 0 to 404 if no content for protocols other than file', function() {
+ $backend = createHttpBackend($browser, createMockXhr);
+
+ $backend('GET', 'someProtocol:///whatever/index.html', null, callback);
+ respond(0, '');
+
+ expect(callback).toHaveBeenCalled();
+ expect(callback.mostRecentCall.args[0]).toBe(0);
+ });
it('should convert 0 to 404 if no content - relative url', function() {
var originalUrlParsingNode = urlParsingNode;
@@ -486,10 +504,10 @@ describe('$httpBackend', function() {
hash : "#/C:/",
host : "",
hostname : "",
- href : "someProtocol:///C:/base#!/C:/foo",
+ href : "file:///C:/base#!/C:/foo",
pathname : "/C:/foo",
port : "",
- protocol : "someProtocol:",
+ protocol : "file:",
search : "",
setAttribute: angular.noop
};