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( |