aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular-mocks.js
diff options
context:
space:
mode:
authorMisko Hevery2011-03-10 13:50:00 -0800
committerMisko Hevery2011-03-11 14:16:53 -0800
commitc578f8c3ed0ca23b03ccde146cb13cfaf24f17cd (patch)
tree12182c82ee4411091b6d92f81829dd52f8792e27 /src/angular-mocks.js
parent5b05c0de036f77db0cc493082e21b1451c6b9a5f (diff)
downloadangular.js-c578f8c3ed0ca23b03ccde146cb13cfaf24f17cd.tar.bz2
Added XSRF prevention logic to $xhr service
Diffstat (limited to 'src/angular-mocks.js')
-rw-r--r--src/angular-mocks.js27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/angular-mocks.js b/src/angular-mocks.js
index 762148fd..558e71e3 100644
--- a/src/angular-mocks.js
+++ b/src/angular-mocks.js
@@ -101,28 +101,27 @@ function MockBrowser() {
};
- self.xhr = function(method, url, data, callback) {
- if (angular.isFunction(data)) {
- callback = data;
- data = null;
- }
+ self.xhr = function(method, url, data, callback, headers) {
+ headers = headers || {};
if (data && angular.isObject(data)) data = angular.toJson(data);
if (data && angular.isString(data)) url += "|" + data;
var expect = expectations[method] || {};
- var response = expect[url];
- if (!response) {
- throw {
- message: "Unexpected request for method '" + method + "' and url '" + url + "'.",
- name: "Unexpected Request"
- };
+ var expectation = expect[url];
+ if (!expectation) {
+ throw new Error("Unexpected request for method '" + method + "' and url '" + url + "'.");
}
requests.push(function(){
- callback(response.code, response.response);
+ forEach(expectation.headers, function(value, key){
+ if (headers[key] !== value) {
+ throw new Error("Missing HTTP request header: " + key + ": " + value);
+ }
+ });
+ callback(expectation.code, expectation.response);
});
};
self.xhr.expectations = expectations;
self.xhr.requests = requests;
- self.xhr.expect = function(method, url, data) {
+ self.xhr.expect = function(method, url, data, headers) {
if (data && angular.isObject(data)) data = angular.toJson(data);
if (data && angular.isString(data)) url += "|" + data;
var expect = expectations[method] || (expectations[method] = {});
@@ -132,7 +131,7 @@ function MockBrowser() {
response = code;
code = 200;
}
- expect[url] = {code:code, response:response};
+ expect[url] = {code:code, response:response, headers: headers || {}};
}
};
};