From 0c8b35681e2ea9ce3ee6a188476f89be1336f1cb Mon Sep 17 00:00:00 2001
From: Vojta Jina
Date: Wed, 3 Aug 2011 13:53:59 +0200
Subject: feat($browser): xhr returns raw request object
---
src/angular-mocks.js | 1 +
src/service/browser.js | 5 +++++
test/service/browserSpecs.js | 4 ++++
3 files changed, 10 insertions(+)
diff --git a/src/angular-mocks.js b/src/angular-mocks.js
index f5907a42..73bc4cbd 100644
--- a/src/angular-mocks.js
+++ b/src/angular-mocks.js
@@ -120,6 +120,7 @@ angular.module.ngMock.$Browser = function() {
});
callback(expectation.code, expectation.response);
});
+ // TODO(vojta): return mock request object
};
self.xhr.expectations = expectations;
self.xhr.requests = requests;
diff --git a/src/service/browser.js b/src/service/browser.js
index 2e2c07e8..da82b9b0 100644
--- a/src/service/browser.js
+++ b/src/service/browser.js
@@ -90,8 +90,12 @@ function Browser(window, document, body, XHR, $log, $sniffer) {
*
X-Requested-With: XMLHttpRequest
*
*
+ * @returns {XMLHttpRequest|undefined} Raw XMLHttpRequest object or undefined when JSONP method
+ *
* @description
* Send ajax request
+ *
+ * TODO(vojta): change signature of this method to (method, url, data, headers, callback)
*/
self.xhr = function(method, url, post, callback, headers) {
outstandingRequestCount ++;
@@ -124,6 +128,7 @@ function Browser(window, document, body, XHR, $log, $sniffer) {
}
};
xhr.send(post || '');
+ return xhr;
}
};
diff --git a/test/service/browserSpecs.js b/test/service/browserSpecs.js
index 5234f0be..7e50a280 100644
--- a/test/service/browserSpecs.js
+++ b/test/service/browserSpecs.js
@@ -223,6 +223,10 @@ describe('browser', function() {
expect(code).toEqual(202);
expect(response).toEqual('RESPONSE');
});
+
+ it('should return raw xhr object', function() {
+ expect(browser.xhr('GET', '/url', null, noop)).toBe(xhr);
+ });
});
describe('defer', function() {
--
cgit v1.2.3