Mercurial > bugzilla-dashboard
comparison js/modules/mocks.js @ 102:00b02ba5236c
made all delegates have a dotted name (namespaced), modified black-box.js a bit
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Wed, 28 Apr 2010 20:06:26 -0700 |
parents | c486d35fad27 |
children |
comparison
equal
deleted
inserted
replaced
101:106a0018e601 | 102:00b02ba5236c |
---|---|
12 this.cache = {}; | 12 this.cache = {}; |
13 }; | 13 }; |
14 | 14 |
15 MockCache.prototype = { | 15 MockCache.prototype = { |
16 get: function get(key) { | 16 get: function get(key) { |
17 this.delegate("get", [key]); | 17 this.delegate("cache.get", [key]); |
18 if (key in this.cache) | 18 if (key in this.cache) |
19 return copy(this.cache[key]); | 19 return copy(this.cache[key]); |
20 return null; | 20 return null; |
21 }, | 21 }, |
22 set: function set(key, value) { | 22 set: function set(key, value) { |
23 this.delegate("set", [key, value]); | 23 this.delegate("cache.set", [key, value]); |
24 this.cache[key] = copy(value); | 24 this.cache[key] = copy(value); |
25 }, | 25 }, |
26 clear: function clear() { | 26 clear: function clear() { |
27 this.delegate("clear", []); | 27 this.delegate("cache.clear", []); |
28 this.cache = {}; | 28 this.cache = {}; |
29 } | 29 } |
30 }; | 30 }; |
31 | 31 |
32 exports.create = function create(delegate) { | 32 exports.create = function create(delegate) { |
102 | 102 |
103 function response(delegate, obj, time) { | 103 function response(delegate, obj, time) { |
104 if (time === undefined) | 104 if (time === undefined) |
105 time = DEFAULT_RESPONSE_TIME; | 105 time = DEFAULT_RESPONSE_TIME; |
106 | 106 |
107 function xhrDelegate(method, args) { | 107 var req = require("mocks/xhr").create(delegate); |
108 delegate("xhr." + method, args); | |
109 } | |
110 | |
111 var req = require("mocks/xhr").create(xhrDelegate); | |
112 | 108 |
113 require("window").setTimeout( | 109 require("window").setTimeout( |
114 function() { | 110 function() { |
115 req.responseText = JSON.stringify(obj); | 111 req.responseText = JSON.stringify(obj); |
116 req.status = 200; | 112 req.status = 200; |
123 } | 119 } |
124 | 120 |
125 exports.create = function create(Bugzilla, ajaxImpl, delegate) { | 121 exports.create = function create(Bugzilla, ajaxImpl, delegate) { |
126 function MockBugzilla() { | 122 function MockBugzilla() { |
127 this.ajax = function ajax(options) { | 123 this.ajax = function ajax(options) { |
124 delegate("bugzilla.ajax", options); | |
128 var obj = ajaxImpl(options, exports); | 125 var obj = ajaxImpl(options, exports); |
129 var req = response(delegate, obj); | 126 var req = response(delegate, obj); |
130 req.addEventListener( | 127 req.addEventListener( |
131 "load", | 128 "load", |
132 function onLoad() { | 129 function onLoad() { |
163 } | 160 } |
164 | 161 |
165 self.addEventListener = function(eventType, handler, useCapture) { | 162 self.addEventListener = function(eventType, handler, useCapture) { |
166 verifyEventType(eventType); | 163 verifyEventType(eventType); |
167 listeners[eventType].push(handler); | 164 listeners[eventType].push(handler); |
168 delegate("addEventListener", [eventType, handler, useCapture]); | 165 delegate("xhr.addEventListener", [eventType, handler, useCapture]); |
169 }; | 166 }; |
170 | 167 |
171 self.removeEventListener = function(eventType, handler, useCapture) { | 168 self.removeEventListener = function(eventType, handler, useCapture) { |
172 verifyEventType(eventType); | 169 verifyEventType(eventType); |
173 var index = listeners[eventType].indexOf(handler); | 170 var index = listeners[eventType].indexOf(handler); |
174 if (index == -1) | 171 if (index == -1) |
175 throw new Error("handler not registered for event: " + eventType); | 172 throw new Error("handler not registered for event: " + eventType); |
176 listeners[eventType].splice(index, 1); | 173 listeners[eventType].splice(index, 1); |
177 delegate("removeEventListener", [eventType, handler, useCapture]); | 174 delegate("xhr.removeEventListener", [eventType, handler, useCapture]); |
178 }; | 175 }; |
179 | 176 |
180 self.setRequestHeader = function(header, value) { | 177 self.setRequestHeader = function(header, value) { |
181 delegate("setRequestHeader", [header, value]); | 178 delegate("xhr.setRequestHeader", [header, value]); |
182 }; | 179 }; |
183 | 180 |
184 self.send = function(data) { | 181 self.send = function(data) { |
185 delegate("send", [data]); | 182 delegate("xhr.send", [data]); |
186 }; | 183 }; |
187 | 184 |
188 self.open = function open(method, url) { | 185 self.open = function open(method, url) { |
189 delegate("open", [method, url]); | 186 delegate("xhr.open", [method, url]); |
190 }; | 187 }; |
191 | 188 |
192 self.mockTriggerEvent = function(event) { | 189 self.mockTriggerEvent = function(event) { |
193 verifyEventType(event.type); | 190 verifyEventType(event.type); |
194 listeners[event.type].forEach( | 191 listeners[event.type].forEach( |