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(