OLD | NEW |
---|---|
1 'use strict'; | 1 'use strict'; |
2 | 2 |
3 // Bluetooth UUID constants: | 3 // Bluetooth UUID constants: |
4 // Services: | 4 // Services: |
5 var blocklist_test_service_uuid = "611c954a-263b-4f4a-aab6-01ddb953f985"; | 5 var blocklist_test_service_uuid = "611c954a-263b-4f4a-aab6-01ddb953f985"; |
6 var request_disconnection_service_uuid = "01d7d889-7451-419f-aeb8-d65e7b9277af"; | 6 var request_disconnection_service_uuid = "01d7d889-7451-419f-aeb8-d65e7b9277af"; |
7 // Characteristics: | 7 // Characteristics: |
8 var blocklist_exclude_reads_characteristic_uuid = | 8 var blocklist_exclude_reads_characteristic_uuid = |
9 "bad1c9a2-9a5b-4015-8b60-1579bbbf2135"; | 9 "bad1c9a2-9a5b-4015-8b60-1579bbbf2135"; |
10 var request_disconnection_characteristic_uuid = | 10 var request_disconnection_characteristic_uuid = |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
227 }; | 227 }; |
228 target.addEventListener(type, wrapper, options); | 228 target.addEventListener(type, wrapper, options); |
229 }); | 229 }); |
230 } | 230 } |
231 | 231 |
232 // Creates |num_listeners| promises. Each adds an event listener | 232 // Creates |num_listeners| promises. Each adds an event listener |
233 // to object. The promises resolve once the object fires |event| but | 233 // to object. The promises resolve once the object fires |event| but |
234 // reject if the event is fired before |object|.|func|() resolves. | 234 // reject if the event is fired before |object|.|func|() resolves. |
235 // Returns a promise that fulfills with the result of |object|.|func()| | 235 // Returns a promise that fulfills with the result of |object|.|func()| |
236 // and |event.target.value| of each of the other promises. | 236 // and |event.target.value| of each of the other promises. |
237 function assert_event_fires_after_promise(object, func, event, num_listeners) { | 237 function assert_event_fires_after_promise(object, func, event, num_listeners, ig nore_event_promise_order) { |
Reilly Grant (use Gerrit)
2016/12/16 01:41:28
Please document this new parameter.
juncai
2016/12/17 01:18:52
Done.
| |
238 num_listeners = num_listeners !== undefined ? num_listeners : 1; | 238 num_listeners = num_listeners !== undefined ? num_listeners : 1; |
239 | 239 |
240 if (object[func] === undefined) { | 240 if (object[func] === undefined) { |
241 return Promise.reject('Function \'' + func + '\' not available in object.'); | 241 return Promise.reject('Function \'' + func + '\' not available in object.'); |
242 } | 242 } |
243 let should_resolve = false; | 243 let should_resolve = false; |
244 let event_promises = []; | 244 let event_promises = []; |
245 for (let i = 0; i < num_listeners; i++) { | 245 for (let i = 0; i < num_listeners; i++) { |
246 event_promises.push(new Promise((resolve, reject) => { | 246 event_promises.push(new Promise((resolve, reject) => { |
247 let event_listener = (e) => { | 247 let event_listener = (e) => { |
248 object.removeEventListener(event, event_listener); | 248 object.removeEventListener(event, event_listener); |
249 if (should_resolve) { | 249 if (should_resolve || ignore_event_promise_order) { |
250 resolve(e.target.value); | 250 resolve(e.target.value); |
251 } else { | 251 } else { |
252 reject(event + ' was triggered before the promise resolved.'); | 252 reject(event + ' was triggered before the promise resolved.'); |
253 } | 253 } |
254 }; | 254 }; |
255 object.addEventListener(event, event_listener); | 255 object.addEventListener(event, event_listener); |
256 })); | 256 })); |
257 } | 257 } |
258 return object[func]().then(result => { | 258 return object[func]().then(result => { |
259 should_resolve = true; | 259 should_resolve = true; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
352 filters: [{ services: services, name: 'Name' }], | 352 filters: [{ services: services, name: 'Name' }], |
353 optionalServices: ['heart_rate'] | 353 optionalServices: ['heart_rate'] |
354 }, { | 354 }, { |
355 filters: [{ services: services, namePrefix: 'Pre' }], | 355 filters: [{ services: services, namePrefix: 'Pre' }], |
356 optionalServices: ['heart_rate'] | 356 optionalServices: ['heart_rate'] |
357 }, { | 357 }, { |
358 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }], | 358 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }], |
359 optionalServices: ['heart_rate'] | 359 optionalServices: ['heart_rate'] |
360 }]; | 360 }]; |
361 } | 361 } |
OLD | NEW |