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 // If |ignore_event_promise_order| is set true, this function will assert |
238 // the event is triggered after the promise is resolved; otherwise it will | |
239 // ignore their relative order. | |
Reilly Grant (use Gerrit)
2016/12/20 02:08:16
I think this explanation is backwards.
juncai
2016/12/20 22:33:42
Done.
| |
240 function assert_event_fires_after_promise(object, func, event, num_listeners, ig nore_event_promise_order) { | |
238 num_listeners = num_listeners !== undefined ? num_listeners : 1; | 241 num_listeners = num_listeners !== undefined ? num_listeners : 1; |
239 | 242 |
240 if (object[func] === undefined) { | 243 if (object[func] === undefined) { |
241 return Promise.reject('Function \'' + func + '\' not available in object.'); | 244 return Promise.reject('Function \'' + func + '\' not available in object.'); |
242 } | 245 } |
243 let should_resolve = false; | 246 let should_resolve = false; |
244 let event_promises = []; | 247 let event_promises = []; |
245 for (let i = 0; i < num_listeners; i++) { | 248 for (let i = 0; i < num_listeners; i++) { |
246 event_promises.push(new Promise((resolve, reject) => { | 249 event_promises.push(new Promise((resolve, reject) => { |
247 let event_listener = (e) => { | 250 let event_listener = (e) => { |
248 object.removeEventListener(event, event_listener); | 251 object.removeEventListener(event, event_listener); |
249 if (should_resolve) { | 252 if (should_resolve || ignore_event_promise_order) { |
250 resolve(e.target.value); | 253 resolve(e.target.value); |
251 } else { | 254 } else { |
252 reject(event + ' was triggered before the promise resolved.'); | 255 reject(event + ' was triggered before the promise resolved.'); |
253 } | 256 } |
254 }; | 257 }; |
255 object.addEventListener(event, event_listener); | 258 object.addEventListener(event, event_listener); |
256 })); | 259 })); |
257 } | 260 } |
258 return object[func]().then(result => { | 261 return object[func]().then(result => { |
259 should_resolve = true; | 262 should_resolve = true; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
352 filters: [{ services: services, name: 'Name' }], | 355 filters: [{ services: services, name: 'Name' }], |
353 optionalServices: ['heart_rate'] | 356 optionalServices: ['heart_rate'] |
354 }, { | 357 }, { |
355 filters: [{ services: services, namePrefix: 'Pre' }], | 358 filters: [{ services: services, namePrefix: 'Pre' }], |
356 optionalServices: ['heart_rate'] | 359 optionalServices: ['heart_rate'] |
357 }, { | 360 }, { |
358 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }], | 361 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }], |
359 optionalServices: ['heart_rate'] | 362 optionalServices: ['heart_rate'] |
360 }]; | 363 }]; |
361 } | 364 } |
OLD | NEW |