| <!-- Generated by //third_party/WebKit/LayoutTests/bluetooth/generate.py --> |
| <!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.getCharacteristic('body_sensor_location'), |
| service.getCharacteristic('body_sensor_location')])) |
| .then(characteristics_arrays => { |
| // Convert to arrays if necessary. |
| for (let i = 0; i < characteristics_arrays.length; i++) { |
| characteristics_arrays[i] = [].concat(characteristics_arrays[i]); |
| } |
| |
| for (let i = 1; i < characteristics_arrays.length; i++) { |
| assert_equals(characteristics_arrays[0].length, |
| characteristics_arrays[i].length); |
| } |
| |
| let base_set = new Set(characteristics_arrays[0]); |
| for (let characteristics of characteristics_arrays) { |
| characteristics.forEach( |
| characteristic => assert_true(base_set.has(characteristic))); |
| } |
| }); |
| }, 'Calls to getCharacteristic should return the same object.'); |
| |
| </script> |