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

Unified Diff: chrome/test/data/extensions/api_test/bluetooth_low_energy/characteristic_properties/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/characteristic_properties/runtest.js
diff --git a/chrome/test/data/extensions/api_test/bluetooth_low_energy/characteristic_properties/runtest.js b/chrome/test/data/extensions/api_test/bluetooth_low_energy/characteristic_properties/runtest.js
new file mode 100644
index 0000000000000000000000000000000000000000..21d0517718fd46fd7df7b29d2bb7d1e86e46e502
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/bluetooth_low_energy/characteristic_properties/runtest.js
@@ -0,0 +1,62 @@
+// 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 testCharacteristicProperties() {
+ chrome.test.assertEq(requestCount, characteristics.length);
+
+ for (var i = 0; i < requestCount; i++) {
+ compareProperties(expectedProperties[i], characteristics[i].properties);
+ }
+
+ chrome.test.succeed();
+}
+
+var charId = 'char_id0';
+var requestCount = 12;
+var characteristics = [];
+var expectedProperties = [
+ [],
+ ['broadcast'],
+ ['read'],
+ ['writeWithoutResponse'],
+ ['write'],
+ ['notify'],
+ ['indicate'],
+ ['authenticatedSignedWrites'],
+ ['extendedProperties'],
+ ['reliableWrite'],
+ ['writeableAuxiliaries'],
+ ['broadcast', 'read', 'writeWithoutResponse', 'write', 'notify', 'indicate',
+ 'authenticatedSignedWrites', 'extendedProperties', 'reliableWrite',
+ 'writeableAuxiliaries']
+];
+
+function compareProperties(a, b) {
+ chrome.test.assertEq(a.length, b.length);
+ a.sort();
+ b.sort();
+
+ for (var i = 0; i < a.length; i++) {
+ chrome.test.assertEq(a[i], b[i]);
+ }
+}
+
+function failOnError() {
+ if (chrome.runtime.lastError) {
+ chrome.test.fail(chrome.runtime.lastError.message);
+ }
+}
+
+for (var i = 0; i < requestCount; i++) {
+ chrome.bluetoothLowEnergy.getCharacteristic(charId, function (result) {
+ failOnError();
+ characteristics.push(result);
+
+ if (characteristics.length == requestCount) {
+ chrome.test.sendMessage('ready', function (message) {
+ chrome.test.runTests([testCharacteristicProperties]);
+ });
+ }
+ });
+}

Powered by Google App Engine
This is Rietveld 408576698