| 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 ignore |
| 238 // the relative order of the event and the promise; otherwise it will assert |
| 239 // the event is triggered after the promise is resolved. |
| 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 |