34 lines
906 B
JavaScript
34 lines
906 B
JavaScript
/**
|
||
* Helper for mocking $.async's XHR requests
|
||
*
|
||
*/
|
||
|
||
|
||
var getCallback = function(empty, response, succeed, headers) {
|
||
if (empty)
|
||
return function() {};
|
||
return function(callback) {
|
||
callback(response, succeed, {
|
||
getAllResponseHeaders: function() {
|
||
return headers;
|
||
},
|
||
getResponseHeader: function(header) {
|
||
return headers[header] || null;
|
||
}
|
||
});
|
||
};
|
||
};
|
||
|
||
module.exports = {
|
||
setNextAsyncResult: function(async, response, fails, headers) {
|
||
headers = headers || {};
|
||
var succeed = fails ? "fail" : "success";
|
||
async.__internalXHRImplementation = function(config) {
|
||
return {
|
||
done: getCallback(fails, response, succeed, headers),
|
||
fail: getCallback(!fails, response, succeed, headers)
|
||
};
|
||
};
|
||
}
|
||
};
|