Mercurial > bugzilla-dashboard
view js/modules/mocks.js @ 71:4ec651cc606e
we now only make one request at a time to the bugzilla server, which reduces app responsiveness but makes us less of a douche to the server.
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Sun, 25 Apr 2010 17:55:54 -0700 |
parents | 51c1829956d9 |
children | 544d339d2b4c |
line wrap: on
line source
Require.modules["mocks"] = function(exports, require) { function MockXMLHttpRequest(delegate) { var self = this; var listeners = { "load": [], "progress": [], "error": [], "abort": [] }; function verifyEventType(eventType) { if (!(eventType in listeners)) throw new Error("unknown event type: " + eventType); } self.addEventListener = function(eventType, handler, useCapture) { verifyEventType(eventType); listeners[eventType].push(handler); delegate("addEventListener", [eventType, handler, useCapture]); }; self.removeEventListener = function(eventType, handler, useCapture) { verifyEventType(eventType); var index = listeners[eventType].indexOf(handler); if (index == -1) throw new Error("handler not registered for event: " + eventType); listeners[eventType].splice(index, 1); delegate("removeEventListener", [eventType, handler, useCapture]); }; self.setRequestHeader = function(header, value) { delegate("setRequestHeader", [header, value]); }; self.send = function(data) { delegate("send", [data]); }; self.open = function open(method, url) { delegate("open", [method, url]); }; self.mockTriggerEvent = function(event) { verifyEventType(event.type); listeners.forEach( function(listener) { listener(event); }); }; } exports.xhr = function xhr(delegate) { return new MockXMLHttpRequest(delegate); }; };