| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 /** @fileoverview Suite of tests for settings-languages-page. */ | 5 /** @fileoverview Suite of tests for settings-languages-page. */ |
| 6 | 6 |
| 7 /** @const {string} Path to root from chrome/test/data/webui/settings/. */ | 7 /** @const {string} Path to root from chrome/test/data/webui/settings/. */ |
| 8 var ROOT_PATH = '../../../../../'; | 8 var ROOT_PATH = '../../../../../'; |
| 9 | 9 |
| 10 // Polymer BrowserTest fixture. | 10 // Polymer BrowserTest fixture. |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 | 47 |
| 48 // Runs languages page tests. | 48 // Runs languages page tests. |
| 49 TEST_F('SettingsLanguagesPageBrowserTest', 'MAYBE_LanguagesPage', function() { | 49 TEST_F('SettingsLanguagesPageBrowserTest', 'MAYBE_LanguagesPage', function() { |
| 50 suite('languages page', function() { | 50 suite('languages page', function() { |
| 51 testing.Test.disableAnimationsAndTransitions(); | 51 testing.Test.disableAnimationsAndTransitions(); |
| 52 | 52 |
| 53 var advanced = this.getPage('advanced'); | 53 var advanced = this.getPage('advanced'); |
| 54 | 54 |
| 55 var languagesSection; | 55 var languagesSection; |
| 56 var languagesPage; | 56 var languagesPage; |
| 57 var languageHelper; |
| 57 suiteSetup(function() { | 58 suiteSetup(function() { |
| 58 advanced.set('pageVisibility.languages', true); | 59 advanced.set('pageVisibility.languages', true); |
| 59 Polymer.dom.flush(); | 60 Polymer.dom.flush(); |
| 60 | 61 |
| 61 languagesSection = this.getSection(advanced, 'languages'); | 62 languagesSection = this.getSection(advanced, 'languages'); |
| 62 assertTrue(!!languagesSection); | 63 assertTrue(!!languagesSection); |
| 63 languagesPage = languagesSection.querySelector('settings-languages-page'); | 64 languagesPage = languagesSection.querySelector('settings-languages-page'); |
| 64 assertTrue(!!languagesPage); | 65 assertTrue(!!languagesPage); |
| 65 | 66 |
| 66 return LanguageHelperImpl.getInstance().whenReady(); | 67 languageHelper = LanguageHelperImpl.getInstance(); |
| 68 return languageHelper.whenReady(); |
| 67 }.bind(this)); | 69 }.bind(this)); |
| 68 | 70 |
| 69 teardown(function(done) { | 71 teardown(function(done) { |
| 70 // Close the section if we're in a sub-page. | 72 // Close the section if we're in a sub-page. |
| 71 if (settings.getCurrentRoute().isSubpage()) { | 73 if (settings.getCurrentRoute().isSubpage()) { |
| 72 settings.navigateTo(settings.Route.ADVANCED); | 74 settings.navigateTo(settings.Route.ADVANCED); |
| 73 setTimeout(done); | 75 setTimeout(done); |
| 74 } else { | 76 } else { |
| 75 done(); | 77 done(); |
| 76 } | 78 } |
| 77 }); | 79 }); |
| 78 | 80 |
| 79 test('manage languages', function() { | 81 test('manage languages', function() { |
| 80 var manageLanguagesButton = | 82 var manageLanguagesButton = |
| 81 languagesPage.$.languagesCollapse.querySelector( | 83 languagesPage.$.languagesCollapse.querySelector( |
| 82 '.list-button:last-of-type'); | 84 '.list-button:last-of-type'); |
| 83 MockInteractions.tap(manageLanguagesButton); | 85 MockInteractions.tap(manageLanguagesButton); |
| 84 assertTrue(!!languagesPage.$$('settings-manage-languages-page')); | 86 assertTrue(!!languagesPage.$$('settings-manage-languages-page')); |
| 85 }); | 87 }); |
| 86 | 88 |
| 89 test('Should not set UI language', function() { |
| 90 var languagesCollapse = languagesPage.$.languagesCollapse; |
| 91 var languageOptionsDropdownTrigger = languagesCollapse.querySelector( |
| 92 'paper-icon-button'); |
| 93 assertTrue(!!languageOptionsDropdownTrigger); |
| 94 |
| 95 // This shouldn't get called. |
| 96 languageHelper.setUILanguage = assertNotReached; |
| 97 |
| 98 MockInteractions.tap(languageOptionsDropdownTrigger); |
| 99 }); |
| 100 |
| 87 test('language detail', function() { | 101 test('language detail', function() { |
| 88 var languagesCollapse = languagesPage.$.languagesCollapse; | 102 var languagesCollapse = languagesPage.$.languagesCollapse; |
| 89 var languageDetailMenuItem = languagesCollapse.querySelectorAll( | 103 var languageDetailMenuItem = languagesCollapse.querySelectorAll( |
| 90 '.dropdown-content .dropdown-item')[2]; | 104 '.dropdown-content .dropdown-item')[2]; |
| 91 assertTrue(!!languageDetailMenuItem); | 105 assertTrue(!!languageDetailMenuItem); |
| 92 MockInteractions.tap(languageDetailMenuItem); | 106 MockInteractions.tap(languageDetailMenuItem); |
| 93 | 107 |
| 94 var languageDetailPage = | 108 var languageDetailPage = |
| 95 languagesPage.$$('settings-language-detail-page'); | 109 languagesPage.$$('settings-language-detail-page'); |
| 96 assertTrue(!!languageDetailPage); | 110 assertTrue(!!languageDetailPage); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 123 assertTrue(!!languagesPage.$$('settings-edit-dictionary-page')); | 137 assertTrue(!!languagesPage.$$('settings-edit-dictionary-page')); |
| 124 } | 138 } |
| 125 }); | 139 }); |
| 126 }.bind(this)); | 140 }.bind(this)); |
| 127 | 141 |
| 128 // TODO(michaelpg): Test more aspects of the languages UI. | 142 // TODO(michaelpg): Test more aspects of the languages UI. |
| 129 | 143 |
| 130 // Run all registered tests. | 144 // Run all registered tests. |
| 131 mocha.run(); | 145 mocha.run(); |
| 132 }); | 146 }); |
| OLD | NEW |