Chromium Code Reviews| 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 |