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

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: Moar tests and int8_t IPC 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
scheib 2015/10/30 01:05:23 InternalPowerAdapter a poor name, name them for se
ortuno 2015/11/04 21:22:09 Adapter renamed. Added TODO for the Tx Power value
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 tx_power: 126,
39 expected_tx_power: 126,
40 rssi: 0,
41 expected_rssi: 0
42 }, {
43 name: 'High RSSI should appear in adData.',
44 tx_power: 0,
45 expected_tx_power: 0,
46 rssi: 126,
47 expected_rssi: 126
48 }, {
49 name: 'Tx Power too high must result in nulled txPower.',
50 tx_power: 127,
51 expected_tx_power: null,
52 rssi: 0,
53 expected_rssi: 0
54 }, {
55 name: 'RSSI too high must result in nulled rssi.',
56 tx_power: 0,
57 expected_tx_power: 0,
58 rssi: 127,
59 expected_rssi: null
60 }].forEach(power_test => {
61 promise_test(() => {
62 testRunner.setBluetoothMockDataSet('InternalPowerAdapter:' +
63 power_test.tx_power + ':' +
64 power_test.rssi);
65 return requestDeviceWithKeyDown({filters: [{services: ['heart_rate']}]})
66 .then(device => {
67 let adv_data = device.adData;
68 assert_equals(adv_data.txPower, power_test.expected_tx_power);
69 assert_equals(adv_data.rssi, power_test.expected_rssi);
70 });
71 }, power_test.name);
72 });
73
74 // Tests for all platforms.
75 [{
76 name: 'TxPower not present, RSSI not present.',
77 tx_power_present: false,
78 rssi_present: false
79 }, {
80 name: 'TxPower not present, RSSI present.',
81 tx_power_present: false,
82 rssi_present: true
83 }, {
84 name: 'TxPower present, RSSI not present.',
85 tx_power_present: true,
86 rssi_present: false,
87 }, {
88 name: 'TxPower present, RSSI present.',
89 tx_power_present: true,
90 rssi_present: true
91 }].forEach(power_test => {
92 promise_test(() => {
93 testRunner.setBluetoothMockDataSet('PowerAdapter:' +
94 power_test.tx_power_present + ':' +
95 power_test.rssi_present);
96 return requestDeviceWithKeyDown({filters: [{services: ['heart_rate']}]})
97 .then(device => {
98 let adv_data = device.adData;
99 let expected_tx_power = power_test.tx_power_present ?
100 -10 /* broadcasting at 0.1mW */
101 : null;
102 let expected_rssi = power_test.rssi_present ?
103 -51 /* power at 1m from device broadcasting at 0.1mW * /
104 : null;
105 assert_equals(adv_data.txPower, expected_tx_power);
106 assert_equals(adv_data.rssi, expected_rssi);
107 });
108 }, power_test.name)
109 });
110 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698