Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(422)

Side by Side Diff: third_party/WebKit/LayoutTests/bluetooth/advertising-data.html

Issue 1427653003: bluetooth: Implement TxPower and RSSI of BluetoothAdvertisementData (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@my-origin
Patch Set: Change PowerValueAdapter to int8_t Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script src="resources/bluetooth-helpers.js"></script>
5 <script>
6 'use strict';
7
8 test(function(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 testRunner.setBluetoothMockDataSet('PowerValueAdapter:' +
69 power_test.tx_power + ':' +
70 power_test.rssi);
71 return requestDeviceWithKeyDown({filters: [{services: ['heart_rate']}]})
72 .then(device => {
73 let adv_data = device.adData;
74 assert_equals(adv_data.txPower, power_test.expected_tx_power);
75 assert_equals(adv_data.rssi, power_test.expected_rssi);
76 });
77 }, power_test.name);
78 });
79
80 // Tests for all platforms.
81 [{
82 name: 'TxPower not present, RSSI not present.',
83 tx_power_present: false,
84 rssi_present: false
85 }, {
86 name: 'TxPower not present, RSSI present.',
87 tx_power_present: false,
88 rssi_present: true
89 }, {
90 name: 'TxPower present, RSSI not present.',
91 tx_power_present: true,
92 rssi_present: false,
93 }, {
94 name: 'TxPower present, RSSI present.',
95 tx_power_present: true,
96 rssi_present: true
97 }].forEach(power_test => {
98 promise_test(() => {
99 testRunner.setBluetoothMockDataSet('PowerPresenceAdapter:' +
100 power_test.tx_power_present + ':' +
101 power_test.rssi_present);
102 return requestDeviceWithKeyDown({filters: [{services: ['heart_rate']}]})
103 .then(device => {
104 let adv_data = device.adData;
105 let expected_tx_power = power_test.tx_power_present ?
106 -10 /* broadcasting at 0.1mW */
107 : null;
108 let expected_rssi = power_test.rssi_present ?
109 -51 /* power at 1m from device broadcasting at 0.1mW * /
110 : null;
111 assert_equals(adv_data.txPower, expected_tx_power);
112 assert_equals(adv_data.rssi, expected_rssi);
113 });
114 }, power_test.name)
115 });
116 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698