| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 suite('Internet', function() { | 5 suite('Internet', function() { |
| 6 /** @type {InternetPageElement} */ | 6 /** @type {InternetPageElement} */ |
| 7 var internetPage = null; | 7 var internetPage = null; |
| 8 | 8 |
| 9 /** @type {NetworkSummaryElement} */ | 9 /** @type {NetworkSummaryElement} */ |
| 10 var networkSummary_ = null; | 10 var networkSummary_ = null; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 internetAddThirdPartyVPN: 'internetAddThirdPartyVPN', | 21 internetAddThirdPartyVPN: 'internetAddThirdPartyVPN', |
| 22 internetAddVPN: 'internetAddVPN', | 22 internetAddVPN: 'internetAddVPN', |
| 23 internetAddWiFi: 'internetAddWiFi', | 23 internetAddWiFi: 'internetAddWiFi', |
| 24 internetDetailPageTitle: 'internetDetailPageTitle', | 24 internetDetailPageTitle: 'internetDetailPageTitle', |
| 25 internetKnownNetworksPageTitle: 'internetKnownNetworksPageTitle', | 25 internetKnownNetworksPageTitle: 'internetKnownNetworksPageTitle', |
| 26 }); | 26 }); |
| 27 | 27 |
| 28 CrOncStrings = { | 28 CrOncStrings = { |
| 29 OncTypeCellular: 'OncTypeCellular', | 29 OncTypeCellular: 'OncTypeCellular', |
| 30 OncTypeEthernet: 'OncTypeEthernet', | 30 OncTypeEthernet: 'OncTypeEthernet', |
| 31 OncTypeTether: 'OncTypeTether', |
| 31 OncTypeVPN: 'OncTypeVPN', | 32 OncTypeVPN: 'OncTypeVPN', |
| 32 OncTypeWiFi: 'OncTypeWiFi', | 33 OncTypeWiFi: 'OncTypeWiFi', |
| 33 OncTypeWiMAX: 'OncTypeWiMAX', | 34 OncTypeWiMAX: 'OncTypeWiMAX', |
| 34 networkListItemConnected: 'networkListItemConnected', | 35 networkListItemConnected: 'networkListItemConnected', |
| 35 networkListItemConnecting: 'networkListItemConnecting', | 36 networkListItemConnecting: 'networkListItemConnecting', |
| 36 networkListItemConnectingTo: 'networkListItemConnectingTo', | 37 networkListItemConnectingTo: 'networkListItemConnectingTo', |
| 37 networkListItemNotConnected: 'networkListItemNotConnected', | 38 networkListItemNotConnected: 'networkListItemNotConnected', |
| 38 vpnNameTemplate: 'vpnNameTemplate', | 39 vpnNameTemplate: 'vpnNameTemplate', |
| 39 }; | 40 }; |
| 40 | 41 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 api_.disableNetworkType('WiFi'); | 90 api_.disableNetworkType('WiFi'); |
| 90 Polymer.dom.flush(); | 91 Polymer.dom.flush(); |
| 91 var wifi = networkSummary_.$$('#WiFi'); | 92 var wifi = networkSummary_.$$('#WiFi'); |
| 92 assertTrue(!!wifi); | 93 assertTrue(!!wifi); |
| 93 | 94 |
| 94 // Ensure that the initial state is disabled and the toggle is | 95 // Ensure that the initial state is disabled and the toggle is |
| 95 // enabled but unchecked. | 96 // enabled but unchecked. |
| 96 assertEquals('Disabled', api_.getDeviceStateForTest('WiFi').State); | 97 assertEquals('Disabled', api_.getDeviceStateForTest('WiFi').State); |
| 97 var toggle = wifi.$$('#deviceEnabledButton'); | 98 var toggle = wifi.$$('#deviceEnabledButton'); |
| 98 assertTrue(!!toggle); | 99 assertTrue(!!toggle); |
| 99 assertTrue(toggle.enabled); | 100 assertFalse(toggle.disabled); |
| 100 assertFalse(toggle.checked); | 101 assertFalse(toggle.checked); |
| 101 | 102 |
| 102 // Tap the enable toggle button and ensure the state becomes enabled. | 103 // Tap the enable toggle button and ensure the state becomes enabled. |
| 103 MockInteractions.tap(toggle); | 104 MockInteractions.tap(toggle); |
| 104 Polymer.dom.flush(); | 105 Polymer.dom.flush(); |
| 105 assertTrue(toggle.checked); | 106 assertTrue(toggle.checked); |
| 106 assertEquals('Enabled', api_.getDeviceStateForTest('WiFi').State); | 107 assertEquals('Enabled', api_.getDeviceStateForTest('WiFi').State); |
| 107 }); | 108 }); |
| 108 }); | 109 }); |
| 109 | 110 |
| 110 suite('SubPage', function() { | 111 suite('SubPage', function() { |
| 111 test('WiFi', function() { | 112 test('WiFi', function() { |
| 112 api_.addNetworksForTest([ | 113 api_.addNetworksForTest([ |
| 113 {GUID: 'wifi1_guid', Name: 'wifi1', Type: 'WiFi'}, | 114 {GUID: 'wifi1_guid', Name: 'wifi1', Type: 'WiFi'}, |
| 114 {GUID: 'wifi12_guid', Name: 'wifi2', Type: 'WiFi'}, | 115 {GUID: 'wifi12_guid', Name: 'wifi2', Type: 'WiFi'}, |
| 115 ]); | 116 ]); |
| 116 api_.enableNetworkType('WiFi'); | 117 api_.enableNetworkType('WiFi'); |
| 117 Polymer.dom.flush(); | 118 Polymer.dom.flush(); |
| 118 var wifi = networkSummary_.$$('#WiFi'); | 119 var wifi = networkSummary_.$$('#WiFi'); |
| 119 assertTrue(!!wifi); | 120 assertTrue(!!wifi); |
| 120 MockInteractions.tap(wifi.$$('button.subpage-arrow')); | 121 MockInteractions.tap(wifi.$$('button.subpage-arrow')); |
| 121 Polymer.dom.flush(); | 122 Polymer.dom.flush(); |
| 122 var subpage = internetPage.$$('settings-internet-subpage'); | 123 // Allow dom-if templates to resolve. |
| 123 assertTrue(!!subpage); | 124 Polymer.Base.async(function() { |
| 124 assertEquals(2, subpage.networkStateList_.length); | 125 var subpage = internetPage.$$('settings-internet-subpage'); |
| 125 var networkList = subpage.$$('#networkList'); | 126 assertTrue(!!subpage); |
| 126 assertTrue(!!networkList); | 127 assertEquals(2, subpage.networkStateList_.length); |
| 127 assertEquals(2, networkList.networks.length); | 128 var toggle = wifi.$$('#deviceEnabledButton'); |
| 129 assertTrue(!!toggle); |
| 130 assertFalse(toggle.disabled); |
| 131 var networkList = subpage.$$('#networkList'); |
| 132 assertTrue(!!networkList); |
| 133 assertEquals(2, networkList.networks.length); |
| 134 });}); |
| 135 |
| 136 test('Cellular', function() { |
| 137 api_.addNetworksForTest([ |
| 138 {GUID: 'cellular1_guid', Name: 'cellular1', Type: 'Cellular'}, |
| 139 ]); |
| 140 api_.enableNetworkType('Cellular'); |
| 141 Polymer.dom.flush(); |
| 142 // Allow dom-if templates to resolve. |
| 143 Polymer.Base.async(function() { |
| 144 var mobile = networkSummary_.$$('#Cellular'); |
| 145 assertTrue(!!mobile); |
| 146 MockInteractions.tap(mobile.$$('button.subpage-arrow')); |
| 147 Polymer.dom.flush(); |
| 148 var subpage = internetPage.$$('settings-internet-subpage'); |
| 149 // No subpage when there is only one Cellular network. |
| 150 assertFalse(!!subpage); |
| 151 }); |
| 152 }); |
| 153 |
| 154 test('Tether', function() { |
| 155 api_.addNetworksForTest([ |
| 156 {GUID: 'tether1_guid', Name: 'tether1', Type: 'Tether'}, |
| 157 {GUID: 'tether2_guid', Name: 'tether2', Type: 'Tether'}, |
| 158 ]); |
| 159 api_.enableNetworkType('Tether'); |
| 160 Polymer.dom.flush(); |
| 161 // Allow dom-if templates to resolve. |
| 162 Polymer.Base.async(function() { |
| 163 var mobile = networkSummary_.$$('#Tether'); |
| 164 assertTrue(!!mobile); |
| 165 MockInteractions.tap(mobile.$$('button.subpage-arrow')); |
| 166 Polymer.dom.flush(); |
| 167 var subpage = internetPage.$$('settings-internet-subpage'); |
| 168 assertTrue(!!subpage); |
| 169 assertEquals(3, subpage.networkStateList_.length); |
| 170 var toggle = mobile.$$('#deviceEnabledButton'); |
| 171 assertTrue(!!toggle); |
| 172 assertFalse(toggle.disabled); |
| 173 var networkList = subpage.$$('#networkList'); |
| 174 assertTrue(!!networkList); |
| 175 assertEquals(3, networkList.networks.length); |
| 176 var tetherToggle = mobile.$$('#tetherEnabledButton'); |
| 177 // No separate tether toggle when Celular is not available; the |
| 178 // primary toggle enables or disables Tether in that case. |
| 179 assertFalse(!!tetherToggle); |
| 180 }); |
| 181 }); |
| 182 |
| 183 test('Tether plus Cellular', function() { |
| 184 api_.addNetworksForTest([ |
| 185 {GUID: 'cellular1_guid', Name: 'cellular1', Type: 'Cellular'}, |
| 186 {GUID: 'tether1_guid', Name: 'tether1', Type: 'Tether'}, |
| 187 {GUID: 'tether2_guid', Name: 'tether2', Type: 'Tether'}, |
| 188 ]); |
| 189 api_.enableNetworkType('Cellular'); |
| 190 api_.enableNetworkType('Tether'); |
| 191 Polymer.dom.flush(); |
| 192 // Allow dom-if templates to resolve. |
| 193 Polymer.Base.async(function() { |
| 194 var mobile = networkSummary_.$$('#Cellular'); |
| 195 assertTrue(!!mobile); |
| 196 MockInteractions.tap(mobile.$$('button.subpage-arrow')); |
| 197 Polymer.dom.flush(); |
| 198 var subpage = internetPage.$$('settings-internet-subpage'); |
| 199 assertTrue(!!subpage); |
| 200 assertEquals(3, subpage.networkStateList_.length); |
| 201 var toggle = mobile.$$('#deviceEnabledButton'); |
| 202 assertTrue(!!toggle); |
| 203 assertFalse(toggle.disabled); |
| 204 var networkList = subpage.$$('#networkList'); |
| 205 assertTrue(!!networkList); |
| 206 assertEquals(3, networkList.networks.length); |
| 207 var tetherToggle = mobile.$$('#tetherEnabledButton'); |
| 208 assertTrue(!!tetherToggle); |
| 209 assertTrue(tetherToggle.enabled); |
| 210 }); |
| 128 }); | 211 }); |
| 129 | 212 |
| 130 test('VPN', function() { | 213 test('VPN', function() { |
| 131 api_.addNetworksForTest([ | 214 api_.addNetworksForTest([ |
| 132 {GUID: 'vpn1_guid', Name: 'vpn1', Type: 'VPN'}, | 215 {GUID: 'vpn1_guid', Name: 'vpn1', Type: 'VPN'}, |
| 133 {GUID: 'vpn2_guid', Name: 'vpn1', Type: 'VPN'}, | 216 {GUID: 'vpn2_guid', Name: 'vpn1', Type: 'VPN'}, |
| 134 { | 217 { |
| 135 GUID: 'third_party1_vpn1_guid', | 218 GUID: 'third_party1_vpn1_guid', |
| 136 Name: 'vpn3', | 219 Name: 'vpn3', |
| 137 Type: 'VPN', | 220 Type: 'VPN', |
| (...skipping 16 matching lines...) Expand all Loading... |
| 154 Name: 'vpn5', | 237 Name: 'vpn5', |
| 155 Type: 'VPN', | 238 Type: 'VPN', |
| 156 VPN: { | 239 VPN: { |
| 157 Type: 'ThirdPartyVPN', | 240 Type: 'ThirdPartyVPN', |
| 158 ThirdPartyVPN: {ExtensionID: 'id2', ProviderName: 'pname2'} | 241 ThirdPartyVPN: {ExtensionID: 'id2', ProviderName: 'pname2'} |
| 159 } | 242 } |
| 160 }, | 243 }, |
| 161 ]); | 244 ]); |
| 162 api_.onNetworkListChanged.callListeners(); | 245 api_.onNetworkListChanged.callListeners(); |
| 163 Polymer.dom.flush(); | 246 Polymer.dom.flush(); |
| 164 var vpn = networkSummary_.$$('#VPN'); | 247 // Allow dom-if templates to resolve. |
| 165 assertTrue(!!vpn); | 248 Polymer.Base.async(function() { |
| 166 MockInteractions.tap(vpn.$$('button.subpage-arrow')); | 249 var vpn = networkSummary_.$$('#VPN'); |
| 167 Polymer.dom.flush(); | 250 assertTrue(!!vpn); |
| 168 var subpage = internetPage.$$('settings-internet-subpage'); | 251 MockInteractions.tap(vpn.$$('button.subpage-arrow')); |
| 169 assertTrue(!!subpage); | 252 Polymer.dom.flush(); |
| 170 assertEquals(2, subpage.networkStateList_.length); | 253 var subpage = internetPage.$$('settings-internet-subpage'); |
| 171 var networkList = subpage.$$('#networkList'); | 254 assertTrue(!!subpage); |
| 172 assertTrue(!!networkList); | 255 assertEquals(2, subpage.networkStateList_.length); |
| 173 assertEquals(2, networkList.networks.length); | 256 var networkList = subpage.$$('#networkList'); |
| 174 // TODO(stevenjb): Implement fake management API and test third | 257 assertTrue(!!networkList); |
| 175 // party provider sections. | 258 assertEquals(2, networkList.networks.length); |
| 259 // TODO(stevenjb): Implement fake management API and test third |
| 260 // party provider sections. |
| 261 }); |
| 176 }); | 262 }); |
| 177 }); | 263 }); |
| 178 }); | 264 }); |
| OLD | NEW |