OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 GEN('#include "chrome/browser/ui/webui/options/multilanguage_options_webui_brows ertest.h"'); | |
6 | |
7 /** | |
8 * Test C++ fixture for Language Options WebUI testing. | |
9 * @constructor | |
10 * @extends {testing.Test} | |
11 */ | |
12 function MultilanguageOptionsWebUIBrowserTest() {} | |
13 | |
14 MultilanguageOptionsWebUIBrowserTest.prototype = { | |
15 __proto__: testing.Test.prototype, | |
16 | |
17 /** | |
18 * Browse to the language options page & call our preLoad(). | |
19 */ | |
20 browsePreload: 'chrome://settings-frame/languages/', | |
21 | |
22 /** @override */ | |
23 typedefCppFixture: 'MultilanguageOptionsWebUIBrowserTest', | |
24 | |
25 /** @override */ | |
26 runAccessibilityChecks: true, | |
Dan Beam
2015/06/17 23:42:01
^ unnecessary (true is already the default)
Julius
2015/06/24 21:17:58
Deleted.
| |
27 | |
28 /** @override */ | |
29 accessibilityIssuesAreErrors: true, | |
30 }; | |
31 | |
32 // Test opening language options has correct location. | |
33 TEST_F('MultilanguageOptionsWebUIBrowserTest', | |
34 'testOpenLanguageOptions', | |
Dan Beam
2015/06/17 23:42:01
TEST_F('MultilanguageOptionsWebUIBrowserTest', 'te
Julius
2015/06/24 21:17:58
Done.
| |
35 function() { | |
36 expectEquals('chrome://settings-frame/languages/', document.location.href); | |
37 }); | |
38 | |
39 // Test that only certain languages can be selected and used for spellchecking. | |
40 // prefs::kLanguagePreferredLanguages/prefs::kAcceptLanguages is set to | |
41 // "fr,es,de" for the test. | |
42 TEST_F('MultilanguageOptionsWebUIBrowserTest', | |
43 'languageOptions', | |
44 function() { | |
Dan Beam
2015/06/17 23:42:01
TEST_F('MultilanguageOptionsWebUIBrowserTest', 'la
Julius
2015/06/24 21:17:58
Done.
| |
45 expectTrue(loadTimeData.getBoolean('enableMultilingualSpellChecker')); | |
Dan Beam
2015/06/17 23:42:01
assertTrue(loadTimeData.getBoolean('enableMultilin
Julius
2015/06/24 21:17:58
Done.
| |
46 assert(!cr.isMac); | |
Dan Beam
2015/06/17 23:42:01
assertFalse(cr.isMac);
Julius
2015/06/24 21:17:58
Done.
| |
47 | |
48 expectTrue($('spellcheck-language-button').hidden); | |
49 var langOps = LanguageOptions.getInstance(); | |
Dan Beam
2015/06/17 23:42:01
langOpts
Julius
2015/06/24 21:17:58
Done.
| |
50 | |
51 // Make sure the only language currently selected is 'fr'. | |
Dan Beam
2015/06/17 23:42:01
that's not what this code is doing
var langs = Ob
Julius
2015/06/24 21:17:58
Done.
| |
52 expectTrue(langOps.spellCheckLanguages_.hasOwnProperty('fr')); | |
53 expectTrue($('language-options-list').selectLanguageByCode('fr')); | |
54 expectTrue($('spellcheck-language-checkbox').checked); | |
55 | |
56 // Click 'es' and ensure that its checkbox gets checked, 'fr' stays, | |
57 // checked, and those are the only languages being used for spellchecking. | |
58 expectTrue($('language-options-list').selectLanguageByCode('es')); | |
59 LanguageOptions.updateSpellCheckLanguageControls('es'); | |
60 expectFalse($('spellcheck-language-checkbox').checked, 'es'); | |
61 $('spellcheck-language-checkbox').click(); | |
62 expectTrue(langOps.spellCheckLanguages_.hasOwnProperty('es')); | |
63 expectTrue($('spellcheck-language-checkbox').checked, 'es'); | |
64 $('language-options-list').selectLanguageByCode('fr'); | |
65 LanguageOptions.updateSpellCheckLanguageControls('fr'); | |
66 expectTrue($('spellcheck-language-checkbox').checked); | |
67 expectTrue(langOps.spellCheckLanguages_.hasOwnProperty('fr')); | |
68 expectTrue(langOps.spellCheckLanguages_.hasOwnProperty('es')); | |
69 | |
70 // Check that 'am' cannot be selected as a language and make sure the other | |
71 // languages stay selected. | |
72 expectFalse($('language-options-list').selectLanguageByCode('am')); | |
73 $('language-options-list').selectLanguageByCode('fr'); | |
74 expectTrue($('spellcheck-language-checkbox').checked); | |
75 $('language-options-list').selectLanguageByCode('es'); | |
76 expectTrue($('spellcheck-language-checkbox').checked, 'es'); | |
77 expectTrue(langOps.spellCheckLanguages_.hasOwnProperty('fr')); | |
78 expectTrue(langOps.spellCheckLanguages_.hasOwnProperty('es')); | |
79 expectFalse(langOps.spellCheckLanguages_.hasOwnProperty('am')); | |
80 | |
81 // Click 'fr' and ensure that its checkbox gets unchecked, 'es' stays, | |
82 // checked, and that is the only language being used for spellchecking. | |
83 $('language-options-list').selectLanguageByCode('fr'); | |
84 LanguageOptions.updateSpellCheckLanguageControls('fr'); | |
85 expectTrue($('spellcheck-language-checkbox').checked); | |
86 $('spellcheck-language-checkbox').click(); | |
87 expectFalse(langOps.spellCheckLanguages_.hasOwnProperty('fr')); | |
88 expectFalse($('spellcheck-language-checkbox').checked); | |
89 $('language-options-list').selectLanguageByCode('es'); | |
90 LanguageOptions.updateSpellCheckLanguageControls('es'); | |
91 expectTrue($('spellcheck-language-checkbox').checked, 'es'); | |
92 expectTrue(langOps.spellCheckLanguages_.hasOwnProperty('es')); | |
93 | |
94 // Make sure 'en' cannot be used as a spellchecking language. | |
95 $('language-options-list').selectLanguageByCode('en'); | |
96 LanguageOptions.updateSpellCheckLanguageControls('en'); | |
97 expectTrue($('spellcheck-language-checkbox-container').hidden); | |
98 expectFalse($('spellcheck-language-checkbox').checked); | |
99 expectFalse(langOps.spellCheckLanguages_.hasOwnProperty('en')); | |
Dan Beam
2015/06/17 23:42:01
split these paragraphs into multiple tests with a
Julius
2015/06/24 21:17:58
Done.
| |
100 }); | |
OLD | NEW |