Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var MockXhr = Class.create({
- initialize: function(desiredResults) {
- this._desiredResults = Object.extend(Object.clone(MockXhr.defaultResults), desiredResults);
- this._headers = {};
- this.overrideMimeType = false;
- this.status = undefined;
- this.responseText = undefined;
- this.onreadystatechange = undefined;
- this.readyState = 0;
- this.responseXML = undefined;
- this.statusText = undefined;
- },
- open: function(method, url, async, username, password) {
- this._method = method;
- this._url = url;
- this._async = async;
- this._username = username;
- this._password = password;
- },
- send: function(postVars) {
- var me = this;
- if (callback) {
- $w('1 2 3 4').each(function(readyState, state) {
- var fn = function() {
- me.state = state + 1;
- if (me.state == 4) {
- // set to desired result
- Object.extend(this, this._desiredResults);
- this.statusText = MockXhr.statusTextLookup[this.status];
- }
- me.onreadystatechange();
- };
- if (me._async) {
- me._timeout = window.setTimeout(fn, state * 100);
- }
- else {
- fn();
- }
- });
- }
- },
- abort: function() {
- window.clearTimeout(this._timeout);
- },
- setRequestHeader: function(name, value) {
- this._headers[name] = value;
- },
- getAllRequestHeaders: function() {
- return Object.extend({}, this._headers);
- },
- getRequestHeader: function(name) {
- return this._headers[name];
- }
- })
- Object.extend(MockXhr, {
- statusTextLookup: {
- 200: "Ok",
- 301: "Moved Permanently",
- 304: "Not Modified",
- 404: "Not Found",
- 403: "Forbidden",
- 401: "Unauthorized"
- },
- defaultResults: {
- status: 200,
- responseText: 'success',
- responseXML: undefined
- }
- });
- // usage
- var transport = new MockXhr({status: 12029, responseText: undefined});
Add Comment
Please, Sign In to add comment