| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <script src="../resources/testharness.js"></script> | |
| 3 <script src="../resources/testharnessreport.js"></script> | |
| 4 <script src="../resources/bluetooth/bluetooth-helpers.js"></script> | |
| 5 <script> | |
| 6 'use strict'; | |
| 7 | |
| 8 test(t => { assert_true(window.testRunner instanceof Object); t.done(); }, | |
| 9 'window.testRunner is required for the following tests.'); | |
| 10 // Tests that we are handling values returned from the underlying platform | |
| 11 // correctly. Only meant to be used by chromium. | |
| 12 [{ | |
| 13 name: 'Tx Power too low must result in nulled txPower.', | |
| 14 tx_power: -128, | |
| 15 expected_tx_power: null, | |
| 16 rssi: 0, | |
| 17 expected_rssi: 0 | |
| 18 }, { | |
| 19 name: 'RSSI too low must result in nulled rssi.', | |
| 20 tx_power: 0, | |
| 21 expected_tx_power: 0, | |
| 22 rssi: -128, | |
| 23 expected_rssi: null | |
| 24 }, { | |
| 25 name: 'Low Tx Power should appear in adData.', | |
| 26 tx_power: -127, | |
| 27 expected_tx_power: -127, | |
| 28 rssi: 0, | |
| 29 expected_rssi: 0 | |
| 30 }, { | |
| 31 name: 'Low RSSI should appear in adData.', | |
| 32 tx_power: 0, | |
| 33 expected_tx_power: 0, | |
| 34 rssi: -127, | |
| 35 expected_rssi: -127 | |
| 36 }, { | |
| 37 name: 'High Tx Power should appear in adData.', | |
| 38 // TODO(ortuno): According to the Bluetooth Spec Supplement, 127 is the | |
| 39 // the hightest possible valid value for Tx Power. Change to 127 when | |
| 40 // fixed: http://crbug.com/551572 | |
| 41 tx_power: 126, | |
| 42 expected_tx_power: 126, | |
| 43 rssi: 0, | |
| 44 expected_rssi: 0 | |
| 45 }, { | |
| 46 name: 'High RSSI should appear in adData.', | |
| 47 tx_power: 0, | |
| 48 expected_tx_power: 0, | |
| 49 rssi: 126, | |
| 50 expected_rssi: 126 | |
| 51 }, { | |
| 52 // TODO(ortuno): Remove this test since 127 is both a valid Tx Power | |
| 53 // and the max value of a int8. | |
| 54 // http://crbug.com/551572 | |
| 55 name: 'Tx Power too high must result in nulled txPower.', | |
| 56 tx_power: 127, | |
| 57 expected_tx_power: null, | |
| 58 rssi: 0, | |
| 59 expected_rssi: 0 | |
| 60 }, { | |
| 61 name: 'RSSI too high must result in nulled rssi.', | |
| 62 tx_power: 0, | |
| 63 expected_tx_power: 0, | |
| 64 rssi: 127, | |
| 65 expected_rssi: null | |
| 66 }].forEach(power_test => { | |
| 67 promise_test(() => { | |
| 68 return setBluetoothFakeAdapter('PowerValueAdapter:' + | |
| 69 power_test.tx_power + ':' + | |
| 70 power_test.rssi) | |
| 71 .then(() => requestDeviceWithKeyDown({ | |
| 72 filters: [{services: ['heart_rate']}]})) | |
| 73 .then(device => { | |
| 74 let adv_data = device.adData; | |
| 75 assert_equals(adv_data.txPower, power_test.expected_tx_power); | |
| 76 assert_equals(adv_data.rssi, power_test.expected_rssi); | |
| 77 }); | |
| 78 }, power_test.name); | |
| 79 }); | |
| 80 | |
| 81 // Tests for all platforms. | |
| 82 [{ | |
| 83 name: 'TxPower not present, RSSI not present.', | |
| 84 tx_power_present: false, | |
| 85 rssi_present: false | |
| 86 }, { | |
| 87 name: 'TxPower not present, RSSI present.', | |
| 88 tx_power_present: false, | |
| 89 rssi_present: true | |
| 90 }, { | |
| 91 name: 'TxPower present, RSSI not present.', | |
| 92 tx_power_present: true, | |
| 93 rssi_present: false, | |
| 94 }, { | |
| 95 name: 'TxPower present, RSSI present.', | |
| 96 tx_power_present: true, | |
| 97 rssi_present: true | |
| 98 }].forEach(power_test => { | |
| 99 promise_test(() => { | |
| 100 return setBluetoothFakeAdapter('PowerPresenceAdapter:' + | |
| 101 power_test.tx_power_present + ':' + | |
| 102 power_test.rssi_present) | |
| 103 .then(() => requestDeviceWithKeyDown({ | |
| 104 filters: [{services: ['heart_rate']}]})) | |
| 105 .then(device => { | |
| 106 let adv_data = device.adData; | |
| 107 let expected_tx_power = power_test.tx_power_present ? | |
| 108 -10 /* broadcasting at 0.1mW */ | |
| 109 : null; | |
| 110 let expected_rssi = power_test.rssi_present ? | |
| 111 -51 /* power at 1m from device broadcasting at 0.1mW *
/ | |
| 112 : null; | |
| 113 assert_equals(adv_data.txPower, expected_tx_power); | |
| 114 assert_equals(adv_data.rssi, expected_rssi); | |
| 115 }); | |
| 116 }, power_test.name) | |
| 117 }); | |
| 118 </script> | |
| OLD | NEW |