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

Unified Diff: chrome/test/data/extensions/api_test/bluetooth_low_energy/get_characteristic/runtest.js

Issue 262053003: chrome.bluetoothLowEnergy: Implement getCharacteristic. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/bluetooth_low_energy/get_characteristic/runtest.js
diff --git a/chrome/test/data/extensions/api_test/bluetooth_low_energy/get_characteristic/runtest.js b/chrome/test/data/extensions/api_test/bluetooth_low_energy/get_characteristic/runtest.js
new file mode 100644
index 0000000000000000000000000000000000000000..be2cd4584ece08733d12485237eff676f537d87f
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/bluetooth_low_energy/get_characteristic/runtest.js
@@ -0,0 +1,81 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function testGetCharacteristic() {
+ chrome.test.assertTrue(characteristic != null,
+ 'Characteristic is null.');
+ chrome.test.assertEq('char_id0', characteristic.instanceId);
+ chrome.test.assertEq('00001211-0000-1000-8000-00805f9b34fb',
+ characteristic.uuid);
+ chrome.test.assertEq(false, characteristic.isLocal);
+ chrome.test.assertEq(serviceId, characteristic.service.instanceId);
+ chrome.test.assertEq(4, characteristic.properties.length);
+ chrome.test.assertTrue(characteristic.properties.indexOf('broadcast') > -1,
+ '\'broadcast\' not in characteristic.properties');
+ chrome.test.assertTrue(characteristic.properties.indexOf('read') > -1,
+ '\'read\' not in characteristic.properties');
+ chrome.test.assertTrue(characteristic.properties.indexOf('indicate') > -1,
+ '\'indicate\' not in characteristic.properties');
+ chrome.test.assertTrue(
+ characteristic.properties.indexOf('writeWithoutResponse') > -1,
+ '\'writeWithoutResponse\' not in characteristic.properties');
+
+ var valueBytes = new Uint8Array(characteristic.value);
+ chrome.test.assertEq(5, characteristic.value.byteLength);
+ chrome.test.assertEq(0x01, valueBytes[0]);
+ chrome.test.assertEq(0x02, valueBytes[1]);
+ chrome.test.assertEq(0x03, valueBytes[2]);
+ chrome.test.assertEq(0x04, valueBytes[3]);
+ chrome.test.assertEq(0x05, valueBytes[4]);
+
+ chrome.test.succeed();
+}
+
+var serviceId = 'service_id0';
+var charId = 'char_id0';
+var badCharId = 'char_id1';
+
+var characteristic = null;
+
+// 1. Unknown characteristic instanceId.
+chrome.bluetoothLowEnergy.getCharacteristic(badCharId, function (result) {
+ if (result || !chrome.runtime.lastError) {
+ chrome.test.fail('getCharacteristics should have failed');
+ }
+
+ // 2. Known characteristic instanceId, but the mapped device is unknown.
+ chrome.bluetoothLowEnergy.getCharacteristic(charId, function (result) {
+ if (result || !chrome.runtime.lastError) {
+ chrome.test.fail('getCharacteristics should have failed');
+ }
+
+ // 3. Known characteristic instanceId, but the mapped service is unknown.
+ chrome.bluetoothLowEnergy.getCharacteristic(charId, function (result) {
+ if (result || !chrome.runtime.lastError) {
+ chrome.test.fail('getCharacteristics should have failed');
+ }
+
+ // 4. Known characteristic instanceId, but the mapped service does not
+ // know about the characteristic.
+ chrome.bluetoothLowEnergy.getCharacteristic(charId, function (result) {
+ if (result || !chrome.runtime.lastError) {
+ chrome.test.fail('getCharacteristics should have failed');
+ }
+
+ // 5. Success.
+ chrome.bluetoothLowEnergy.getCharacteristic(charId, function (result) {
+ if (chrome.runtime.lastError) {
+ chrome.test.fail(chrome.runtime.lastError.message);
+ }
+
+ characteristic = result;
+
+ chrome.test.sendMessage('ready', function (message) {
+ chrome.test.runTests([testGetCharacteristic]);
+ });
+ });
+ });
+ })
+ });
+});

Powered by Google App Engine
This is Rietveld 408576698