Guest User

Untitled

a guest
Mar 9th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. var MockXhr = Class.create({
  2. initialize: function(desiredResults) {
  3. this._desiredResults = Object.extend(Object.clone(MockXhr.defaultResults), desiredResults);
  4. this._headers = {};
  5. this.overrideMimeType = false;
  6. this.status = undefined;
  7. this.responseText = undefined;
  8. this.onreadystatechange = undefined;
  9. this.readyState = 0;
  10. this.responseXML = undefined;
  11. this.statusText = undefined;
  12. },
  13. open: function(method, url, async, username, password) {
  14. this._method = method;
  15. this._url = url;
  16. this._async = async;
  17. this._username = username;
  18. this._password = password;
  19. },
  20. send: function(postVars) {
  21. var me = this;
  22. if (callback) {
  23. $w('1 2 3 4').each(function(readyState, state) {
  24. var fn = function() {
  25. me.state = state + 1;
  26. if (me.state == 4) {
  27. // set to desired result
  28. Object.extend(this, this._desiredResults);
  29. this.statusText = MockXhr.statusTextLookup[this.status];
  30. }
  31. me.onreadystatechange();
  32. };
  33. if (me._async) {
  34. me._timeout = window.setTimeout(fn, state * 100);
  35. }
  36. else {
  37. fn();
  38. }
  39. });
  40. }
  41. },
  42. abort: function() {
  43. window.clearTimeout(this._timeout);
  44. },
  45. setRequestHeader: function(name, value) {
  46. this._headers[name] = value;
  47. },
  48. getAllRequestHeaders: function() {
  49. return Object.extend({}, this._headers);
  50. },
  51. getRequestHeader: function(name) {
  52. return this._headers[name];
  53. }
  54. })
  55. Object.extend(MockXhr, {
  56. statusTextLookup: {
  57. 200: "Ok",
  58. 301: "Moved Permanently",
  59. 304: "Not Modified",
  60. 404: "Not Found",
  61. 403: "Forbidden",
  62. 401: "Unauthorized"
  63. },
  64. defaultResults: {
  65. status: 200,
  66. responseText: 'success',
  67. responseXML: undefined
  68. }
  69. });
  70.  
  71. // usage
  72. var transport = new MockXhr({status: 12029, responseText: undefined});
Add Comment
Please, Sign In to add comment