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 d43dc028a04011cba2ea119b172bbb1ffc6560c4..d4eb6d3f1c840fac2ab00bf7ac9b4a37509695fd 100644 |
| --- a/chrome/test/data/webui/settings/languages_page_browsertest.js |
| +++ b/chrome/test/data/webui/settings/languages_page_browsertest.js |
| @@ -67,19 +67,72 @@ TEST_F('SettingsLanguagesPageBrowserTest', 'MAYBE_LanguagesPage', function() { |
| teardown(function(done) { |
| // Close the section if we're in a sub-page. |
| if (settings.getCurrentRoute().isSubpage()) { |
| - settings.navigateTo(settings.Route.ADVANCED); |
| + settings.navigateTo(settings.Route.BASIC); |
| setTimeout(done); |
| } else { |
| done(); |
| } |
| }); |
| - test('manage languages', function() { |
| - var manageLanguagesButton = |
| - languagesPage.$.languagesCollapse.querySelector( |
| - '.list-button:last-of-type'); |
| - MockInteractions.tap(manageLanguagesButton); |
| - assertTrue(!!languagesPage.$$('settings-manage-languages-page')); |
| + suite('add languages dialog', function() { |
| + var dialog; |
| + var addLanguagesButton; |
|
stevenjb
2016/08/23 17:08:04
Not needed.
michaelpg
2016/08/23 23:37:07
Done.
|
| + var cancelButton; |
| + var actionButton; |
| + |
| + setup(function(done) { |
| + addLanguagesButton = languagesPage.$.languagesCollapse.querySelector( |
| + '.list-button:last-of-type'); |
| + MockInteractions.tap(addLanguagesButton); |
| + |
| + // The page stamps the dialog and registers listeners asynchronously. |
| + Polymer.Base.async(function() { |
| + dialog = languagesPage.$$('settings-add-languages-dialog'); |
| + assertTrue(!!dialog); |
| + |
| + actionButton = dialog.$$('.action-button'); |
| + cancelButton = dialog.$$('.cancel-button'); |
|
stevenjb
2016/08/23 17:08:04
assert these?
michaelpg
2016/08/23 23:37:07
Done.
|
| + done(); |
| + }); |
| + }); |
| + |
| + teardown(function() { |
| + // Test the dialog is removed from the DOM. |
| + Polymer.dom.flush(); |
| + assertEquals(null, languagesPage.$$('settings-add-languages-dialog')); |
| + }); |
| + |
| + test('cancel', function() { |
| + assertFalse(cancelButton.disabled); |
| + MockInteractions.tap(cancelButton); |
|
stevenjb
2016/08/23 17:08:04
Does this test anything?
michaelpg
2016/08/23 23:37:07
Yes, it tests that the cancel button closes the di
|
| + }); |
| + |
| + test('add', function() { |
| + // The fixed-height dialog's iron-list should stamp well below 50 items. |
| + var items = |
| + dialog.$.dialog.querySelectorAll('.list-item:not([hidden])'); |
| + assertGT(items.length, 1); |
| + assertLT(items.length, 50); |
| + |
| + // No languages have been checked. |
| + assertTrue(actionButton.disabled); |
| + MockInteractions.tap(actionButton); |
| + Polymer.dom.flush(); |
| + assertEquals(dialog, languagesPage.$$('settings-add-languages-dialog')); |
| + |
| + // Check and uncheck one language. |
| + MockInteractions.tap(items[0]); |
| + assertFalse(actionButton.disabled); |
| + MockInteractions.tap(items[0]); |
| + assertTrue(actionButton.disabled); |
| + |
| + // Check multiple languages. |
| + MockInteractions.tap(items[0]); |
| + MockInteractions.tap(items[1]); |
| + assertFalse(actionButton.disabled); |
| + |
| + MockInteractions.tap(actionButton); |
| + }); |
| }); |
| test('Should not set UI language', function() { |