Chromium Code Reviews| 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 c1c827c3ee53144a54122a8acb09af99e2ab71bd..ad2b1ac15eab44d858413dd150057acb2742ffb0 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(); |
| - } |
| - }; |
| - this.watchForConnect = function(changes) { |
| - assertEq([network], changes); |
| - chrome.networkingPrivate.getProperties( |
| - network, collectProperties.bind(undefined, "connect")); |
| + var expectedState = expectedStates.pop(); |
|
Greg Spencer (Chromium)
2013/03/02 00:09:11
I like this: more flexible.
|
| + assertEq(expectedState, properties.ConnectionState); |
| + if (expectedStates.length == 0) |
| + finishTest(); |
| }; |
| - this.watchForDisconnect = function(changes) { |
| + this.onNetworkChange = 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,8 +91,8 @@ var availableTests = [ |
| "Name": "wifi1", |
| "Type": "WiFi", |
| "WiFi": { |
| - "SSID": "stub_wifi1", |
| - "Type": "WiFi" |
| + "Security": "WEP-PSK", |
| + "SignalStrength": 0 |
| } |
| }, |
| { |
| @@ -116,11 +101,16 @@ var availableTests = [ |
| "Name": "wifi2_PSK", |
| "Type": "WiFi", |
| "WiFi": { |
| - "SSID": "stub_wifi2", |
| - "Type": "WiFi" |
| + "Security": "WPA-PSK", |
| + "SignalStrength": 80 |
| } |
| }, |
| { |
| + "Cellular": { |
| + "ActivationState": "not-activated", |
| + "NetworkTechnology": "GSM", |
| + "RoamingState": "home" |
| + }, |
| "ConnectionState": "NotConnected", |
| "GUID": "stub_cellular1", |
| "Name": "cellular1", |
| @@ -134,15 +124,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", |
| - "Type": "WiFi" |
| + "Security": "WEP-PSK", |
| + "SignalStrength": 0 |
| } |
| }, |
| { |
| @@ -151,8 +140,8 @@ var availableTests = [ |
| "Name": "wifi2_PSK", |
| "Type": "WiFi", |
| "WiFi": { |
| - "SSID": "stub_wifi2", |
| - "Type": "WiFi" |
| + "Security": "WPA-PSK", |
| + "SignalStrength": 80 |
| } |
| } |
| ], result); |
| @@ -163,19 +152,34 @@ 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"; |
| @@ -187,8 +191,7 @@ var availableTests = [ |
| 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( |