| Index: chrome/test/data/extensions/api_test/networking/test.js
|
| diff --git a/chrome/test/data/extensions/api_test/networking/test.js b/chrome/test/data/extensions/api_test/networking/test.js
|
| index 4bffba9ff2675013f5f1103556339fb6382384f3..0b76fd0121b9ddaf5d0648edec67e8683738fed8 100644
|
| --- a/chrome/test/data/extensions/api_test/networking/test.js
|
| +++ b/chrome/test/data/extensions/api_test/networking/test.js
|
| @@ -17,47 +17,29 @@ var verificationProperties = {
|
| };
|
|
|
| var privateHelpers = {
|
| - connectListener: function(network, done) {
|
| + // Watches for the states |expectedStates| in reverse order. If all states
|
| + // were observed in the right order, succeeds and calls |done|. If any
|
| + // unexpected state is observed, fails.
|
| + watchForStateChanges: function(network, expectedStates, done) {
|
| var self = this;
|
| - var collectProperties = function(transition, properties) {
|
| + var collectProperties = function(properties) {
|
| var finishTest = function() {
|
| chrome.networkingPrivate.onNetworksChanged.removeListener(
|
| self.watchForConnect);
|
| done();
|
| };
|
| - var startDisconnect = function() {
|
| - chrome.networkingPrivate.startDisconnect(
|
| - network,
|
| - callbackPass(function() {}));
|
| - };
|
| - var startConnect = function() {
|
| - chrome.networkingPrivate.startConnect(
|
| - network,
|
| - callbackPass(function() {}));
|
| - };
|
| - if (properties.ConnectionState == "NotConnected") {
|
| - if (transition == "connect")
|
| - finishTest();
|
| - else
|
| - startConnect();
|
| - }
|
| - if (properties.ConnectionState == "Connected") {
|
| - if (transition == "connect")
|
| - startDisconnect();
|
| - else
|
| - finishTest();
|
| - }
|
| + var expectedState = expectedStates.pop();
|
| + assertEq(expectedState, properties.ConnectionState);
|
| + if (expectedStates.length == 0)
|
| + finishTest();
|
| };
|
| - this.watchForConnect = function(changes) {
|
| + this.onNetworkChange = function(changes) {
|
| assertEq([network], changes);
|
| - chrome.networkingPrivate.getProperties(
|
| - network, collectProperties.bind(undefined, "connect"));
|
| - };
|
| - this.watchForDisconnect = function(changes) {
|
| - assertEq([network], changes);
|
| - chrome.networkingPrivate.getProperties(
|
| - network, collectProperties.bind(undefined, "disconnect"));
|
| + chrome.networkingPrivate.getProperties(network,
|
| + collectProperties.bind(undefined));
|
| };
|
| + chrome.networkingPrivate.onNetworksChanged.addListener(
|
| + this.onNetworkChange);
|
| },
|
| listListener: function(network, expected, done) {
|
| var self = this;
|
| @@ -70,30 +52,33 @@ var privateHelpers = {
|
| }
|
| };
|
|
|
| -/////////////////////////////////////////////////////
|
| -// Tests
|
| var availableTests = [
|
| function startConnect() {
|
| - chrome.networkingPrivate.startConnect("stub_wifi2",
|
| - callbackPass(function() {}));
|
| + chrome.networkingPrivate.startConnect("stub_wifi2", callbackPass());
|
| },
|
| function startDisconnect() {
|
| - chrome.networkingPrivate.startDisconnect("stub_wifi2",
|
| - callbackPass(function() {}));
|
| + chrome.networkingPrivate.startDisconnect("stub_wifi2", callbackPass());
|
| },
|
| function startConnectNonexistent() {
|
| - // Make sure we get an error when we try to connect to a nonexistent
|
| - // network.
|
| chrome.networkingPrivate.startConnect(
|
| "nonexistent_path",
|
| - callbackFail("Error.InvalidService", function() {}));
|
| + callbackFail("Error.InvalidService"));
|
| + },
|
| + function startDisconnectNonexistent() {
|
| + chrome.networkingPrivate.startDisconnect(
|
| + "nonexistent_path",
|
| + callbackFail("Error.InvalidService"));
|
| + },
|
| + function startGetPropertiesNonexistent() {
|
| + chrome.networkingPrivate.getProperties(
|
| + "nonexistent_path",
|
| + callbackFail("Error.DBusFailed"));
|
| },
|
| function getVisibleNetworks() {
|
| chrome.networkingPrivate.getVisibleNetworks(
|
| "All",
|
| callbackPass(function(result) {
|
| assertTrue(!!result);
|
| - assertEq(4, result.length);
|
| assertEq([{
|
| "ConnectionState": "Connected",
|
| "GUID": "stub_ethernet",
|
| @@ -106,7 +91,8 @@ var availableTests = [
|
| "Name": "wifi1",
|
| "Type": "WiFi",
|
| "WiFi": {
|
| - "SSID": "stub_wifi1",
|
| + "Security": "WEP-PSK",
|
| + "SignalStrength": 0
|
| }
|
| },
|
| {
|
| @@ -115,18 +101,27 @@ var availableTests = [
|
| "Name": "wifi2_PSK",
|
| "Type": "WiFi",
|
| "WiFi": {
|
| - "SSID": "stub_wifi2",
|
| "Security": "WPA-PSK",
|
| "SignalStrength": 80
|
| }
|
| },
|
| {
|
| + "Cellular": {
|
| + "ActivationState": "not-activated",
|
| + "NetworkTechnology": "GSM",
|
| + "RoamingState": "home"
|
| + },
|
| "ConnectionState": "NotConnected",
|
| "GUID": "stub_cellular1",
|
| "Name": "cellular1",
|
| "Type": "Cellular"
|
| - }
|
| - ], result);
|
| + },
|
| + {
|
| + "ConnectionState": "Connected",
|
| + "GUID": "stub_vpn1",
|
| + "Name": "vpn1",
|
| + "Type": "VPN"
|
| + }], result);
|
| }));
|
| },
|
| function getVisibleNetworksWifi() {
|
| @@ -134,14 +129,14 @@ var availableTests = [
|
| "WiFi",
|
| callbackPass(function(result) {
|
| assertTrue(!!result);
|
| - assertEq(2, result.length);
|
| assertEq([{
|
| "ConnectionState": "Connected",
|
| "GUID": "stub_wifi1",
|
| "Name": "wifi1",
|
| "Type": "WiFi",
|
| "WiFi": {
|
| - "SSID": "stub_wifi1"
|
| + "Security": "WEP-PSK",
|
| + "SignalStrength": 0
|
| }
|
| },
|
| {
|
| @@ -150,7 +145,6 @@ var availableTests = [
|
| "Name": "wifi2_PSK",
|
| "Type": "WiFi",
|
| "WiFi": {
|
| - "SSID": "stub_wifi2",
|
| "Security": "WPA-PSK",
|
| "SignalStrength": 80
|
| }
|
| @@ -163,32 +157,47 @@ var availableTests = [
|
| "stub_wifi2",
|
| callbackPass(function(result) {
|
| assertTrue(!!result);
|
| - assertEq("wifi2_PSK", result.Name);
|
| - assertEq("NotConnected", result.ConnectionState);
|
| - assertEq("WiFi", result.Type);
|
| + assertEq({
|
| + "ConnectionState": "NotConnected",
|
| + "GUID": "stub_wifi2",
|
| + "Name": "wifi2_PSK",
|
| + "Type": "WiFi",
|
| + "WiFi": {
|
| + "SSID": "stub_wifi2",
|
| + "Security": "WPA-PSK",
|
| + "SignalStrength": 80
|
| + }
|
| + }, result);
|
| }));
|
| },
|
| - function onNetworksChangedEvent() {
|
| + function onNetworksChangedEventConnect() {
|
| var network = "stub_wifi2";
|
| var done = chrome.test.callbackAdded();
|
| - var listener = new privateHelpers.connectListener(network, done);
|
| - chrome.networkingPrivate.onNetworksChanged.addListener(
|
| - listener.watchForConnect);
|
| - chrome.networkingPrivate.startConnect(network,
|
| - callbackPass(function() {}));
|
| + var expectedStates = ["Connected", "Connecting"];
|
| + var listener =
|
| + new privateHelpers.watchForStateChanges(network, expectedStates, done);
|
| + chrome.networkingPrivate.startConnect(network, callbackPass());
|
| + },
|
| + function onNetworksChangedEventDisconnect() {
|
| + var network = "stub_wifi1";
|
| + var done = chrome.test.callbackAdded();
|
| + var expectedStates = ["NotConnected"];
|
| + var listener =
|
| + new privateHelpers.watchForStateChanges(network, expectedStates, done);
|
| + chrome.networkingPrivate.startDisconnect(network, callbackPass());
|
| },
|
| function onNetworkListChangedEvent() {
|
| var network = "stub_wifi2";
|
| var expected = ["stub_wifi2",
|
| "stub_ethernet",
|
| "stub_wifi1",
|
| - "stub_cellular1"];
|
| + "stub_cellular1",
|
| + "stub_vpn1"];
|
| var done = chrome.test.callbackAdded();
|
| var listener = new privateHelpers.listListener(network, expected, done);
|
| chrome.networkingPrivate.onNetworkListChanged.addListener(
|
| listener.listenForChanges);
|
| - chrome.networkingPrivate.startConnect(network,
|
| - callbackPass(function() {}));
|
| + chrome.networkingPrivate.startConnect(network, callbackPass());
|
| },
|
| function verifyDestination() {
|
| chrome.networkingPrivate.verifyDestination(
|
|
|