aboutsummaryrefslogtreecommitdiffstats
path: root/helpers/FakeXMLHttpRequest.js
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/FakeXMLHttpRequest.js')
-rw-r--r--helpers/FakeXMLHttpRequest.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/helpers/FakeXMLHttpRequest.js b/helpers/FakeXMLHttpRequest.js
new file mode 100644
index 00000000..a67d7f74
--- /dev/null
+++ b/helpers/FakeXMLHttpRequest.js
@@ -0,0 +1,31 @@
+var chai = require('chai');
+var assert = chai.assert;
+
+var FakeXMLHttpRequest = function () {
+ this.responseText = "{}";
+ this.readyState = 4;
+ this.onreadystatechange = null;
+ this.async = false;
+};
+
+FakeXMLHttpRequest.prototype.open = function (method, host, async) {
+ assert.equal(method, 'POST');
+ assert.notEqual(host, null);
+ assert.equal(async === false || async === true, true);
+ this.async = async;
+};
+
+FakeXMLHttpRequest.prototype.send = function (payload) {
+ assert.equal(typeof payload, 'string');
+ if (this.async) {
+ assert.equal(typeof this.onreadystatechange, 'function');
+ this.onreadystatechange();
+ return;
+ }
+ return this.responseText;
+};
+
+module.exports = {
+ XMLHttpRequest: FakeXMLHttpRequest
+};
+