| <!DOCTYPE html> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script src="../../resources/bluetooth/bluetooth-helpers.js"></script> |
| <script> |
| 'use strict'; |
| promise_test(() => { |
| return setBluetoothFakeAdapter('HeartRateAdapter') |
| .then(() => requestDeviceWithKeyDown({ |
| filters: [{services: ['heart_rate']}]})) |
| .then(device => device.gatt.connect()) |
| .then(gattServer => gattServer.getPrimaryService('heart_rate')) |
| .then(service => Promise.all([ |
| service.getCharacteristics('body_sensor_location'), |
| service.getCharacteristics('body_sensor_location')])) |
| .then(characteristics => { |
| let chars1 = characteristics[0]; |
| let chars2 = characteristics[1]; |
| assert_equals(chars1.length, chars2.length); |
| // TODO(ortuno): getCharacteristics should return the same objects |
| // if they were created earlier. |
| // https://crbug.com/495270 |
| for (let i = 0; i < chars1.length; i++) { |
| assert_not_equals(chars1[i], chars2[i]); |
| } |
| }); |
| }, 'Calls to get the same characteristics should return the same objects.'); |
| </script> |