| Index: chrome/test/data/webui/settings/internet_page_tests.js
|
| diff --git a/chrome/test/data/webui/settings/internet_page_tests.js b/chrome/test/data/webui/settings/internet_page_tests.js
|
| index 70edfaec5133341f7db51a87c648f2bcc94bae05..f09ff68c57f5107a7835896d77f691f134d83ade 100644
|
| --- a/chrome/test/data/webui/settings/internet_page_tests.js
|
| +++ b/chrome/test/data/webui/settings/internet_page_tests.js
|
| @@ -28,6 +28,7 @@ suite('Internet', function() {
|
| CrOncStrings = {
|
| OncTypeCellular: 'OncTypeCellular',
|
| OncTypeEthernet: 'OncTypeEthernet',
|
| + OncTypeTether: 'OncTypeTether',
|
| OncTypeVPN: 'OncTypeVPN',
|
| OncTypeWiFi: 'OncTypeWiFi',
|
| OncTypeWiMAX: 'OncTypeWiMAX',
|
| @@ -96,7 +97,7 @@ suite('Internet', function() {
|
| assertEquals('Disabled', api_.getDeviceStateForTest('WiFi').State);
|
| var toggle = wifi.$$('#deviceEnabledButton');
|
| assertTrue(!!toggle);
|
| - assertTrue(toggle.enabled);
|
| + assertFalse(toggle.disabled);
|
| assertFalse(toggle.checked);
|
|
|
| // Tap the enable toggle button and ensure the state becomes enabled.
|
| @@ -107,6 +108,10 @@ suite('Internet', function() {
|
| });
|
| });
|
|
|
| + function callAsync(resolve) {
|
| + Polymer.Base.async(resolve);
|
| + };
|
| +
|
| suite('SubPage', function() {
|
| test('WiFi', function() {
|
| api_.addNetworksForTest([
|
| @@ -119,12 +124,96 @@ suite('Internet', function() {
|
| assertTrue(!!wifi);
|
| MockInteractions.tap(wifi.$$('button.subpage-arrow'));
|
| Polymer.dom.flush();
|
| - var subpage = internetPage.$$('settings-internet-subpage');
|
| - assertTrue(!!subpage);
|
| - assertEquals(2, subpage.networkStateList_.length);
|
| - var networkList = subpage.$$('#networkList');
|
| - assertTrue(!!networkList);
|
| - assertEquals(2, networkList.networks.length);
|
| + // Allow dom-if templates to resolve.
|
| + return new Promise(callAsync).then(function() {
|
| + var subpage = internetPage.$$('settings-internet-subpage');
|
| + assertTrue(!!subpage);
|
| + assertEquals(2, subpage.networkStateList_.length);
|
| + var toggle = wifi.$$('#deviceEnabledButton');
|
| + assertTrue(!!toggle);
|
| + assertFalse(toggle.disabled);
|
| + var networkList = subpage.$$('#networkList');
|
| + assertTrue(!!networkList);
|
| + assertEquals(2, networkList.networks.length);
|
| + });
|
| + });
|
| +
|
| + test('Cellular', function() {
|
| + api_.addNetworksForTest([
|
| + {GUID: 'cellular1_guid', Name: 'cellular1', Type: 'Cellular'},
|
| + ]);
|
| + api_.enableNetworkType('Cellular');
|
| + Polymer.dom.flush();
|
| + // Allow dom-if templates to resolve.
|
| + return new Promise(callAsync).then(function() {
|
| + var mobile = networkSummary_.$$('#Cellular');
|
| + assertTrue(!!mobile);
|
| + MockInteractions.tap(mobile.$$('button.subpage-arrow'));
|
| + Polymer.dom.flush();
|
| + return new Promise(callAsync);
|
| + }).then(function() {
|
| + var detailPage = internetPage.$$('settings-internet-detail-page');
|
| + assertTrue(!!detailPage);
|
| + });
|
| + });
|
| +
|
| + test('Tether', function() {
|
| + api_.addNetworksForTest([
|
| + {GUID: 'tether1_guid', Name: 'tether1', Type: 'Tether'},
|
| + {GUID: 'tether2_guid', Name: 'tether2', Type: 'Tether'},
|
| + ]);
|
| + api_.enableNetworkType('Tether');
|
| + Polymer.dom.flush();
|
| + // Allow dom-if templates to resolve.
|
| + return new Promise(callAsync).then(function() {
|
| + var mobile = networkSummary_.$$('#Tether');
|
| + assertTrue(!!mobile);
|
| + MockInteractions.tap(mobile.$$('button.subpage-arrow'));
|
| + Polymer.dom.flush();
|
| + var subpage = internetPage.$$('settings-internet-subpage');
|
| + assertTrue(!!subpage);
|
| + assertEquals(2, subpage.networkStateList_.length);
|
| + var toggle = mobile.$$('#deviceEnabledButton');
|
| + assertTrue(!!toggle);
|
| + assertFalse(toggle.disabled);
|
| + var networkList = subpage.$$('#networkList');
|
| + assertTrue(!!networkList);
|
| + assertEquals(2, networkList.networks.length);
|
| + var tetherToggle = mobile.$$('#tetherEnabledButton');
|
| + // No separate tether toggle when Celular is not available; the
|
| + // primary toggle enables or disables Tether in that case.
|
| + assertFalse(!!tetherToggle);
|
| + });
|
| + });
|
| +
|
| + test('Tether plus Cellular', function() {
|
| + api_.addNetworksForTest([
|
| + {GUID: 'cellular1_guid', Name: 'cellular1', Type: 'Cellular'},
|
| + {GUID: 'tether1_guid', Name: 'tether1', Type: 'Tether'},
|
| + {GUID: 'tether2_guid', Name: 'tether2', Type: 'Tether'},
|
| + ]);
|
| + api_.enableNetworkType('Cellular');
|
| + api_.enableNetworkType('Tether');
|
| + Polymer.dom.flush();
|
| + // Allow dom-if templates to resolve.
|
| + return new Promise(callAsync).then(function() {
|
| + var mobile = networkSummary_.$$('#Cellular');
|
| + assertTrue(!!mobile);
|
| + MockInteractions.tap(mobile.$$('button.subpage-arrow'));
|
| + Polymer.dom.flush();
|
| + var subpage = internetPage.$$('settings-internet-subpage');
|
| + assertTrue(!!subpage);
|
| + assertEquals(3, subpage.networkStateList_.length);
|
| + var toggle = mobile.$$('#deviceEnabledButton');
|
| + assertTrue(!!toggle);
|
| + assertFalse(toggle.disabled);
|
| + var networkList = subpage.$$('#networkList');
|
| + assertTrue(!!networkList);
|
| + assertEquals(3, networkList.networks.length);
|
| + var tetherToggle = subpage.$$('#tetherEnabledButton');
|
| + assertTrue(!!tetherToggle);
|
| + assertFalse(tetherToggle.disabled);
|
| + });
|
| });
|
|
|
| test('VPN', function() {
|
| @@ -161,18 +250,21 @@ suite('Internet', function() {
|
| ]);
|
| api_.onNetworkListChanged.callListeners();
|
| Polymer.dom.flush();
|
| - var vpn = networkSummary_.$$('#VPN');
|
| - assertTrue(!!vpn);
|
| - MockInteractions.tap(vpn.$$('button.subpage-arrow'));
|
| - Polymer.dom.flush();
|
| - var subpage = internetPage.$$('settings-internet-subpage');
|
| - assertTrue(!!subpage);
|
| - assertEquals(2, subpage.networkStateList_.length);
|
| - var networkList = subpage.$$('#networkList');
|
| - assertTrue(!!networkList);
|
| - assertEquals(2, networkList.networks.length);
|
| - // TODO(stevenjb): Implement fake management API and test third
|
| - // party provider sections.
|
| + // Allow dom-if templates to resolve.
|
| + Polymer.Base.async(function() {
|
| + var vpn = networkSummary_.$$('#VPN');
|
| + assertTrue(!!vpn);
|
| + MockInteractions.tap(vpn.$$('button.subpage-arrow'));
|
| + Polymer.dom.flush();
|
| + var subpage = internetPage.$$('settings-internet-subpage');
|
| + assertTrue(!!subpage);
|
| + assertEquals(2, subpage.networkStateList_.length);
|
| + var networkList = subpage.$$('#networkList');
|
| + assertTrue(!!networkList);
|
| + assertEquals(2, networkList.networks.length);
|
| + // TODO(stevenjb): Implement fake management API and test third
|
| + // party provider sections.
|
| + });
|
| });
|
| });
|
| });
|
|
|