aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/httpBackendSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ng/httpBackendSpec.js')
-rw-r--r--test/ng/httpBackendSpec.js71
1 files changed, 4 insertions, 67 deletions
diff --git a/test/ng/httpBackendSpec.js b/test/ng/httpBackendSpec.js
index 5c9cbf58..837fbab9 100644
--- a/test/ng/httpBackendSpec.js
+++ b/test/ng/httpBackendSpec.js
@@ -39,7 +39,8 @@ describe('$httpBackend', function() {
fakeDocument = {
$$scripts: [],
createElement: jasmine.createSpy('createElement').andCallFake(function() {
- return {};
+ // Return a proper script element...
+ return document.createElement(arguments[0]);
}),
body: {
appendChild: jasmine.createSpy('body.appendChild').andCallFake(function(script) {
@@ -325,13 +326,7 @@ describe('$httpBackend', function() {
expect(url[1]).toBe('http://example.org/path');
callbacks[url[2]]('some-data');
-
- if (script.onreadystatechange) {
- script.readyState = 'complete';
- script.onreadystatechange();
- } else {
- script.onload();
- }
+ browserTrigger(script, "load");
expect(callback).toHaveBeenCalledOnce();
});
@@ -346,71 +341,13 @@ describe('$httpBackend', function() {
callbackId = script.src.match(SCRIPT_URL)[2];
callbacks[callbackId]('some-data');
-
- if (script.onreadystatechange) {
- script.readyState = 'complete';
- script.onreadystatechange();
- } else {
- script.onload();
- }
+ browserTrigger(script, "load");
expect(callbacks[callbackId]).toBe(angular.noop);
expect(fakeDocument.body.removeChild).toHaveBeenCalledOnceWith(script);
});
- if(msie<=8) {
-
- it('should attach onreadystatechange handler to the script object', function() {
- $backend('JSONP', 'http://example.org/path?cb=JSON_CALLBACK', null, noop);
-
- expect(fakeDocument.$$scripts[0].onreadystatechange).toEqual(jasmine.any(Function));
-
- var script = fakeDocument.$$scripts[0];
-
- script.readyState = 'complete';
- script.onreadystatechange();
-
- expect(script.onreadystatechange).toBe(null);
- });
-
- } else {
-
- it('should attach onload and onerror handlers to the script object', function() {
- $backend('JSONP', 'http://example.org/path?cb=JSON_CALLBACK', null, noop);
-
- expect(fakeDocument.$$scripts[0].onload).toEqual(jasmine.any(Function));
- expect(fakeDocument.$$scripts[0].onerror).toEqual(jasmine.any(Function));
-
- var script = fakeDocument.$$scripts[0];
- script.onload();
-
- expect(script.onload).toBe(null);
- expect(script.onerror).toBe(null);
- });
-
- }
-
- it('should call callback with status -2 when script fails to load', function() {
- callback.andCallFake(function(status, response) {
- expect(status).toBe(-2);
- expect(response).toBeUndefined();
- });
-
- $backend('JSONP', 'http://example.org/path?cb=JSON_CALLBACK', null, callback);
- expect(fakeDocument.$$scripts.length).toBe(1);
-
- var script = fakeDocument.$$scripts.shift();
- if (script.onreadystatechange) {
- script.readyState = 'complete';
- script.onreadystatechange();
- } else {
- script.onload();
- }
- expect(callback).toHaveBeenCalledOnce();
- });
-
-
it('should set url to current location if not specified or empty string', function() {
$backend('JSONP', undefined, null, callback);
expect(fakeDocument.$$scripts[0].src).toBe($browser.url());