Chromium Code Reviews| Index: chrome/test/data/webui/settings/languages_page_browsertest.js |
| diff --git a/chrome/test/data/webui/settings/languages_page_browsertest.js b/chrome/test/data/webui/settings/languages_page_browsertest.js |
| index a7e1dd9673e32a6dc906821bab903fb4cb14851c..a7dfa66ecde7e990de8150e0e9e51cefe12c1632 100644 |
| --- a/chrome/test/data/webui/settings/languages_page_browsertest.js |
| +++ b/chrome/test/data/webui/settings/languages_page_browsertest.js |
| @@ -235,7 +235,24 @@ TEST_F('SettingsLanguagesPageBrowserTest', 'MAYBE_LanguagesPage', function() { |
| cr.isChromeOS || cr.isWindows ? 1 : 0, separator.offsetHeight); |
| }); |
| - test('toggle translate', function(done) { |
| + test('test translate.enable toggle', function() { |
| + languageHelper.setPrefValue('translate.enabled', true); |
| + var toggle = languagesPage.$.offerTranslateOtherLangs.root |
| + .querySelectorAll('paper-toggle-button')[0]; |
|
michaelpg
2017/02/01 23:30:48
shorter:
.root.querySelector('paper-toggle-but
scottchen
2017/02/01 23:33:50
I think I'll leave it like this, just in case some
michaelpg
2017/02/01 23:41:13
They are exactly equivalent -- querySelector retur
|
| + assertTrue(!!toggle); |
| + |
| + // Clicking on toggle switch it to false. |
| + MockInteractions.tap(toggle); |
| + var newToggleValue = languageHelper.prefs.translate.enabled.value; |
| + assertFalse(newToggleValue); |
| + |
| + // Clicking on toggle switch it to true again. |
| + MockInteractions.tap(toggle); |
| + newToggleValue = languageHelper.prefs.translate.enabled.value; |
| + assertTrue(newToggleValue); |
| + }); |
| + |
| + test('toggle translate for a specific language', function(done) { |
| // Enable Translate so the menu always shows the Translate checkbox. |
| languageHelper.setPrefValue('translate.enabled', true); |
| languagesPage.set('languages.translateTarget', 'foo'); |
| @@ -262,6 +279,25 @@ TEST_F('SettingsLanguagesPageBrowserTest', 'MAYBE_LanguagesPage', function() { |
| }, settings.kMenuCloseDelay + 1); |
| }); |
| + test('disable translate hides language-specific option', function() { |
| + // Disables translate. |
| + languageHelper.setPrefValue('translate.enabled', false); |
| + languagesPage.set('languages.translateTarget', 'foo'); |
| + languagesPage.set('languages.enabled.1.supportsTranslate', true); |
| + |
| + // Makes sure language-specific menu exists. |
| + var languageOptionsDropdownTrigger = |
| + languagesCollapse.querySelectorAll('paper-icon-button')[1]; |
| + assertTrue(!!languageOptionsDropdownTrigger); |
| + MockInteractions.tap(languageOptionsDropdownTrigger); |
| + assertTrue(actionMenu.open); |
| + |
| + // The language-specific translation option should be hidden. |
| + var translateOption = actionMenu.querySelector('#offerTranslations'); |
| + assertTrue(!!translateOption); |
| + assertTrue(translateOption.hidden); |
| + }); |
| + |
| test('remove language', function() { |
| var numEnabled = languagesPage.languages.enabled.length; |