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. |
11 GEN_INCLUDE( | 11 GEN_INCLUDE( |
12 [ROOT_PATH + 'chrome/test/data/webui/polymer_browser_test_base.js']); | 12 [ROOT_PATH + 'chrome/test/data/webui/polymer_browser_test_base.js']); |
13 // SettingsPageBrowserTest fixture. | 13 // SettingsPageBrowserTest fixture. |
14 GEN_INCLUDE([ROOT_PATH + | 14 GEN_INCLUDE([ROOT_PATH + |
15 'chrome/test/data/webui/settings/settings_page_browsertest.js']); | 15 'chrome/test/data/webui/settings/settings_page_browsertest.js']); |
16 | 16 |
17 var languageSettings = languageSettings || {}; | 17 var languageSettings = languageSettings || {}; |
18 | 18 |
19 /** | 19 /** |
20 * Test class for settings-languages-page UI. | 20 * Test class for settings-languages-page UI. |
21 * @constructor | 21 * @constructor |
22 * @extends {SettingsPageBrowserTest} | 22 * @extends {SettingsPageBrowserTest} |
23 */ | 23 */ |
24 function SettingsLanguagesPageBrowserTest() { | 24 function SettingsLanguagesPageBrowserTest() {} |
25 } | |
26 | 25 |
27 SettingsLanguagesPageBrowserTest.prototype = { | 26 SettingsLanguagesPageBrowserTest.prototype = { |
28 __proto__: SettingsPageBrowserTest.prototype, | 27 __proto__: SettingsPageBrowserTest.prototype, |
29 | 28 |
30 /** @override */ | 29 /** @override */ |
31 browsePreload: 'chrome://md-settings/advanced', | 30 browsePreload: 'chrome://md-settings/advanced', |
32 | 31 |
33 /** @override */ | 32 /** @override */ |
34 preLoad: function() { | 33 preLoad: function() { |
35 SettingsPageBrowserTest.prototype.preLoad.call(this); | 34 SettingsPageBrowserTest.prototype.preLoad.call(this); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 | 68 |
70 teardown(function(done) { | 69 teardown(function(done) { |
71 if (this.isAtRoot()) | 70 if (this.isAtRoot()) |
72 return done(); | 71 return done(); |
73 this.backToRoot(); | 72 this.backToRoot(); |
74 setTimeout(done); | 73 setTimeout(done); |
75 }.bind(this)); | 74 }.bind(this)); |
76 | 75 |
77 test('manage languages', function() { | 76 test('manage languages', function() { |
78 var manageLanguagesButton = | 77 var manageLanguagesButton = |
79 languagesPage.$.languagesCollapse.querySelector('.list-button'); | 78 languagesPage.$.languagesCollapse.querySelector( |
| 79 '.list-button:last-of-type'); |
80 MockInteractions.tap(manageLanguagesButton); | 80 MockInteractions.tap(manageLanguagesButton); |
81 assertTrue(!!languagesPage.$$('settings-manage-languages-page')); | 81 assertTrue(!!languagesPage.$$('settings-manage-languages-page')); |
82 }); | 82 }); |
83 | 83 |
84 test('language detail', function() { | 84 test('language detail', function() { |
85 var languageButton = languagesPage.$.languagesCollapse.querySelector( | 85 var languageButton = languagesPage.$.languagesCollapse.querySelector( |
86 '.list-item paper-icon-button[icon="cr:settings"]'); | 86 '.list-item paper-icon-button[icon="cr:settings"]'); |
87 assertTrue(!!languageButton); | 87 assertTrue(!!languageButton); |
88 MockInteractions.tap(languageButton); | 88 MockInteractions.tap(languageButton); |
89 | 89 |
90 var languageDetailPage = languagesPage.$$( | 90 var languageDetailPage = |
91 'settings-language-detail-page'); | 91 languagesPage.$$('settings-language-detail-page'); |
92 assertTrue(!!languageDetailPage); | 92 assertTrue(!!languageDetailPage); |
93 assertEquals('en-US', languageDetailPage.detail.language.code); | 93 assertEquals('en-US', languageDetailPage.detail.language.code); |
94 }); | 94 }); |
95 | 95 |
96 test('manage input methods', function() { | 96 test('manage input methods', function() { |
97 var inputMethodsCollapse = languagesPage.$.inputMethodsCollapse; | 97 var inputMethodsCollapse = languagesPage.$.inputMethodsCollapse; |
98 var inputMethodSettingsExist = !!inputMethodsCollapse; | 98 var inputMethodSettingsExist = !!inputMethodsCollapse; |
99 if (cr.isChromeOS) { | 99 if (cr.isChromeOS) { |
100 assertTrue(inputMethodSettingsExist); | 100 assertTrue(inputMethodSettingsExist); |
101 var manageInputMethodsButton = | 101 var manageInputMethodsButton = |
102 inputMethodsCollapse.querySelector('.list-button'); | 102 inputMethodsCollapse.querySelector('.list-button:last-of-type'); |
103 MockInteractions.tap(manageInputMethodsButton); | 103 MockInteractions.tap(manageInputMethodsButton); |
104 assertTrue(!!languagesPage.$$('settings-manage-input-methods-page')); | 104 assertTrue(!!languagesPage.$$('settings-manage-input-methods-page')); |
105 } else { | 105 } else { |
106 assertFalse(inputMethodSettingsExist); | 106 assertFalse(inputMethodSettingsExist); |
107 } | 107 } |
108 }); | 108 }); |
109 | 109 |
110 test('spellcheck', function() { | 110 test('spellcheck', function() { |
111 var spellCheckCollapse = languagesPage.$.spellCheckCollapse; | 111 var spellCheckCollapse = languagesPage.$.spellCheckCollapse; |
112 var spellCheckSettingsExist = !!spellCheckCollapse; | 112 var spellCheckSettingsExist = !!spellCheckCollapse; |
113 if (cr.isMac) { | 113 if (cr.isMac) { |
114 assertFalse(spellCheckSettingsExist); | 114 assertFalse(spellCheckSettingsExist); |
115 } else { | 115 } else { |
116 assertTrue(spellCheckSettingsExist); | 116 assertTrue(spellCheckSettingsExist); |
117 MockInteractions.tap(spellCheckCollapse.querySelector('.list-button')); | 117 MockInteractions.tap( |
| 118 spellCheckCollapse.querySelector('.list-button:last-of-type')); |
118 assertTrue(!!languagesPage.$$('settings-edit-dictionary-page')); | 119 assertTrue(!!languagesPage.$$('settings-edit-dictionary-page')); |
119 } | 120 } |
120 }); | 121 }); |
121 }.bind(this)); | 122 }.bind(this)); |
122 | 123 |
123 // TODO(michaelpg): Test more aspects of the languages UI. | 124 // TODO(michaelpg): Test more aspects of the languages UI. |
124 | 125 |
125 // Run all registered tests. | 126 // Run all registered tests. |
126 mocha.run(); | 127 mocha.run(); |
127 }); | 128 }); |
OLD | NEW |