| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var callbackPass = chrome.test.callbackPass; | 5 var callbackPass = chrome.test.callbackPass; |
| 6 var callbackFail = chrome.test.callbackFail; | 6 var callbackFail = chrome.test.callbackFail; |
| 7 var assertTrue = chrome.test.assertTrue; | 7 var assertTrue = chrome.test.assertTrue; |
| 8 var assertEq = chrome.test.assertEq; | 8 var assertEq = chrome.test.assertEq; |
| 9 | 9 |
| 10 chrome.test.runTests([ | 10 var privateHelpers = { |
| 11 function getVisibleNetworks() { | 11 connectListener: function(network, done) { |
| 12 chrome.networkingPrivate.getVisibleNetworks( | 12 var self = this; |
| 13 "All", | 13 var collectProperties = function(transition, properties) { |
| 14 callbackPass(function(result) { | 14 var finishTest = function() { |
| 15 assertTrue(!!result); | 15 chrome.networkingPrivate.onNetworksChanged.removeListener( |
| 16 assertEq(4, result.length); | 16 self.watchForConnect); |
| 17 assertEq([{ "Name": "eth0", | 17 done(); |
| 18 "GUID": "stub_ethernet", | 18 }; |
| 19 "ConnectionState": "Connected", | 19 var startDisconnect = function() { |
| 20 "Type": "Ethernet" | 20 chrome.networkingPrivate.startDisconnect( |
| 21 }, | 21 network, |
| 22 { "Name": "wifi1", | 22 callbackPass(function() {})); |
| 23 "GUID": "stub_wifi1", | 23 }; |
| 24 "ConnectionState": "Connected", | 24 var startConnect = function() { |
| 25 "Type": "WiFi", | 25 chrome.networkingPrivate.startConnect( |
| 26 "WiFi": { | 26 network, |
| 27 "SSID": "stub_wifi1", | 27 callbackPass(function() {})); |
| 28 "Type": "WiFi" | 28 }; |
| 29 } | 29 if (properties.ConnectionState == "NotConnected") { |
| 30 }, | 30 if (transition == "connect") |
| 31 { "Name": "wifi2_PSK", | 31 finishTest(); |
| 32 "GUID": "stub_wifi2", | 32 else |
| 33 "ConnectionState": "NotConnected", | 33 startConnect(); |
| 34 "Type": "WiFi", | 34 } |
| 35 "WiFi": { | 35 if (properties.ConnectionState == "Connected") { |
| 36 "SSID": "stub_wifi2", | 36 if (transition == "connect") |
| 37 "Type": "WiFi" | 37 startDisconnect(); |
| 38 } | 38 else |
| 39 }, | 39 finishTest(); |
| 40 { "Name": "cellular1", | 40 } |
| 41 "GUID": "stub_cellular1", | 41 }; |
| 42 "ConnectionState": "NotConnected", | 42 this.watchForConnect = function(changes) { |
| 43 "Type": "Cellular" | 43 assertEq([network], changes); |
| 44 }], result); | 44 chrome.networkingPrivate.getProperties( |
| 45 })); | 45 network, collectProperties.bind(undefined, "connect")); |
| 46 }; |
| 47 this.watchForDisconnect = function(changes) { |
| 48 assertEq([network], changes); |
| 49 chrome.networkingPrivate.getProperties( |
| 50 network, collectProperties.bind(undefined, "disconnect")); |
| 51 }; |
| 46 }, | 52 }, |
| 47 function getVisibleNetworksWifi() { | 53 listListener: function(network, expected, done) { |
| 48 chrome.networkingPrivate.getVisibleNetworks( | 54 var self = this; |
| 49 "WiFi", | 55 this.listenForChanges = function(list) { |
| 50 callbackPass(function(result) { | 56 assertEq(expected, list); |
| 51 assertTrue(!!result); | 57 chrome.networkingPrivate.onNetworkListChanged.removeListener( |
| 52 assertEq(2, result.length); | 58 self.listenForChanges); |
| 53 assertEq([{ "Name": "wifi1", | 59 done(); |
| 54 "GUID": "stub_wifi1", | 60 }; |
| 55 "ConnectionState": "Connected", | |
| 56 "Type": "WiFi", | |
| 57 "WiFi": { | |
| 58 "SSID": "stub_wifi1", | |
| 59 "Type":"WiFi" | |
| 60 } | |
| 61 }, | |
| 62 { "Name": "wifi2_PSK", | |
| 63 "GUID": "stub_wifi2", | |
| 64 "ConnectionState": "NotConnected", | |
| 65 "Type": "WiFi", | |
| 66 "WiFi": { | |
| 67 "SSID": "stub_wifi2", | |
| 68 "Type": "WiFi" | |
| 69 } | |
| 70 }], result); | |
| 71 })); | |
| 72 }, | |
| 73 function getProperties() { | |
| 74 chrome.networkingPrivate.getProperties( | |
| 75 "stub_wifi2", | |
| 76 callbackPass(function(result) { | |
| 77 assertTrue(!!result); | |
| 78 assertEq("wifi2_PSK", result.Name); | |
| 79 assertEq("NotConnected", result.ConnectionState); | |
| 80 assertEq("WiFi", result.Type); | |
| 81 })); | |
| 82 }, | |
| 83 function startConnect() { | |
| 84 chrome.networkingPrivate.startConnect("stub_wifi2", | |
| 85 callbackPass(function() {})); | |
| 86 }, | |
| 87 function startDisconnect() { | |
| 88 chrome.networkingPrivate.startDisconnect("stub_wifi2", | |
| 89 callbackPass(function() {})); | |
| 90 }, | |
| 91 function startConnectNonexistent() { | |
| 92 // Make sure we get an error when we try to connect to a nonexistent | |
| 93 // network. | |
| 94 chrome.networkingPrivate.startConnect( | |
| 95 "nonexistent_path", | |
| 96 callbackFail("Error.InvalidService", function() {})); | |
| 97 } | 61 } |
| 98 ]); | 62 }; |
| 63 |
| 64 ///////////////////////////////////////////////////// |
| 65 // Tests |
| 66 |
| 67 function startConnect() { |
| 68 chrome.networkingPrivate.startConnect("stub_wifi2", |
| 69 callbackPass(function() {})); |
| 70 } |
| 71 |
| 72 function startDisconnect() { |
| 73 chrome.networkingPrivate.startDisconnect("stub_wifi2", |
| 74 callbackPass(function() {})); |
| 75 } |
| 76 |
| 77 function startConnectNonexistent() { |
| 78 // Make sure we get an error when we try to connect to a nonexistent |
| 79 // network. |
| 80 chrome.networkingPrivate.startConnect( |
| 81 "nonexistent_path", |
| 82 callbackFail("Error.InvalidService", function() {})); |
| 83 } |
| 84 |
| 85 function getVisibleNetworks() { |
| 86 chrome.networkingPrivate.getVisibleNetworks( |
| 87 "All", |
| 88 callbackPass(function(result) { |
| 89 assertTrue(!!result); |
| 90 assertEq(4, result.length); |
| 91 assertEq([{ |
| 92 "ConnectionState": "Connected", |
| 93 "GUID": "stub_ethernet", |
| 94 "Name": "eth0", |
| 95 "Type": "Ethernet" |
| 96 }, |
| 97 { |
| 98 "ConnectionState": "Connected", |
| 99 "GUID": "stub_wifi1", |
| 100 "Name": "wifi1", |
| 101 "Type": "WiFi", |
| 102 "WiFi": { |
| 103 "SSID": "stub_wifi1", |
| 104 "Type": "WiFi" |
| 105 } |
| 106 }, |
| 107 { |
| 108 "ConnectionState": "NotConnected", |
| 109 "GUID": "stub_wifi2", |
| 110 "Name": "wifi2_PSK", |
| 111 "Type": "WiFi", |
| 112 "WiFi": { |
| 113 "SSID": "stub_wifi2", |
| 114 "Type": "WiFi" |
| 115 } |
| 116 }, |
| 117 { |
| 118 "ConnectionState": "NotConnected", |
| 119 "GUID": "stub_cellular1", |
| 120 "Name": "cellular1", |
| 121 "Type": "Cellular" |
| 122 } |
| 123 ], result); |
| 124 })); |
| 125 } |
| 126 |
| 127 function getVisibleNetworksWifi() { |
| 128 chrome.networkingPrivate.getVisibleNetworks( |
| 129 "WiFi", |
| 130 callbackPass(function(result) { |
| 131 assertTrue(!!result); |
| 132 assertEq(2, result.length); |
| 133 assertEq([{ |
| 134 "ConnectionState": "Connected", |
| 135 "GUID": "stub_wifi1", |
| 136 "Name": "wifi1", |
| 137 "Type": "WiFi", |
| 138 "WiFi": { |
| 139 "SSID": "stub_wifi1", |
| 140 "Type": "WiFi" |
| 141 } |
| 142 }, |
| 143 { |
| 144 "ConnectionState": "NotConnected", |
| 145 "GUID": "stub_wifi2", |
| 146 "Name": "wifi2_PSK", |
| 147 "Type": "WiFi", |
| 148 "WiFi": { |
| 149 "SSID": "stub_wifi2", |
| 150 "Type": "WiFi" |
| 151 } |
| 152 } |
| 153 ], result); |
| 154 })); |
| 155 } |
| 156 |
| 157 function getProperties() { |
| 158 chrome.networkingPrivate.getProperties( |
| 159 "stub_wifi2", |
| 160 callbackPass(function(result) { |
| 161 assertTrue(!!result); |
| 162 assertEq("wifi2_PSK", result.Name); |
| 163 assertEq("NotConnected", result.ConnectionState); |
| 164 assertEq("WiFi", result.Type); |
| 165 })); |
| 166 } |
| 167 |
| 168 function onNetworksChangedEvent() { |
| 169 var network = "stub_wifi2"; |
| 170 var done = chrome.test.callbackAdded(); |
| 171 var listener = new privateHelpers.connectListener(network, done); |
| 172 chrome.networkingPrivate.onNetworksChanged.addListener( |
| 173 listener.watchForConnect); |
| 174 chrome.networkingPrivate.startConnect(network, |
| 175 callbackPass(function() {})); |
| 176 } |
| 177 |
| 178 function onNetworkListChangedEvent() { |
| 179 var network = "stub_wifi2"; |
| 180 var expected = ["stub_wifi2","stub_ethernet", "stub_wifi1", "stub_cellular1"]; |
| 181 var done = chrome.test.callbackAdded(); |
| 182 var listener = new privateHelpers.listListener(network, expected, done); |
| 183 chrome.networkingPrivate.onNetworkListChanged.addListener( |
| 184 listener.listenForChanges); |
| 185 chrome.networkingPrivate.startConnect(network, |
| 186 callbackPass(function() {})); |
| 187 } |
| 188 |
| 189 var testToRun = window.location.search.substring(1); |
| 190 chrome.test.runTests([window[testToRun]]); |
| OLD | NEW |