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

Unified Diff: chrome/test/data/extensions/api_test/dial/experimental/runtest.js

Issue 11444020: DIAL extension API skeleton. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 8 years 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/dial/experimental/runtest.js
diff --git a/chrome/test/data/extensions/api_test/dial/experimental/runtest.js b/chrome/test/data/extensions/api_test/dial/experimental/runtest.js
new file mode 100644
index 0000000000000000000000000000000000000000..8a53588848ebca5ddc9803d4a4bc312c9e0be2e9
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/dial/experimental/runtest.js
@@ -0,0 +1,75 @@
+// Copyright (c) 2012 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.
+
+// Array of each device list update.
+var devices = [];
+
+function handleOnDeviceList(deviceList) {
+ var newDevices = [];
+ for (var i = 0; i < deviceList.length; ++i) {
+ newDevices.push(deviceList[i]);
+ }
+ devices.push(newDevices);
+}
+chrome.dial.onDeviceList.addListener(handleOnDeviceList);
+
+chrome.test.sendMessage('ready', function(message) {
+ if (message == 'events') {
Matt Perry 2012/12/07 23:52:52 You can split these up into multiple files and use
justinlin 2012/12/11 00:11:29 Done. One of the tests couldn't use this because i
+ chrome.test.runTests([
+ function testEvents() {
+ // Make sure there were 3 devices.
+ chrome.test.assertEq(3, devices.length);
+
+ // Make sure each update contained 1 more device than the previous.
+ for (var i = 0; i < devices.length; ++i) {
+ chrome.test.assertEq(i + 1, devices[i].length);
+ }
+
+ // Just check the first device in the first update and the last device
+ // in the last update.
+ // Not exposing the device id right now.
+ chrome.test.assertTrue(!('deviceId' in devices[0][0]));
+ chrome.test.assertEq("1", devices[0][0].deviceLabel);
+ chrome.test.assertEq("http://1", devices[0][0].deviceDescriptionUrl);
+
+ chrome.test.assertTrue(!('deviceId' in devices[2][2]));
+ chrome.test.assertEq("3", devices[2][2].deviceLabel);
+ chrome.test.assertEq("http://3", devices[2][2].deviceDescriptionUrl);
+
+ chrome.test.succeed();
+ }
+ ]);
+ } else if (message == 'discovery') {
+ chrome.test.runTests([
+ function testFunctional() {
+ // Remove all listeners first.
+ chrome.dial.onDeviceList.removeListener(handleOnDeviceList);
+
+ var discoverNowShouldSucceed = function(result) {
+ if (result)
+ chrome.test.succeed();
+ else
+ chrome.test.fail();
+ };
+
+ var onDeviceList = function(deviceList) {
+ // Unused.
+ };
+
+ var discoverNowShouldFail = function(result) {
+ if (!result) {
+ chrome.test.succeed();
+ chrome.dial.onDeviceList.addListener(onDeviceList);
+ chrome.dial.discoverNow(discoverNowShouldSucceed);
+ } else {
+ chrome.test.fail();
+ }
+ };
+ chrome.dial.discoverNow(discoverNowShouldFail);
+ }
+ ]);
+ } else {
+ chrome.test.fail();
+ }
+});

Powered by Google App Engine
This is Rietveld 408576698