Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: chrome/test/data/webui/settings/edit_dictionary_page_test.js

Issue 2690263002: MD Settings: add empty list message for spell-check edit page. (Closed)
Patch Set: more fixes based on comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
dpapad 2017/02/23 00:32:03 2017
scottchen 2017/02/23 01:00:17 Done.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 suite('settings-edit-dictionary-page', function() {
6 function getFakePrefs() {
7 var fakePrefs = [{
8 key: 'intl.app_locale',
9 type: chrome.settingsPrivate.PrefType.STRING,
10 value: 'en-US',
11 }, {
12 key: 'intl.accept_languages',
13 type: chrome.settingsPrivate.PrefType.STRING,
14 value: 'en-US,sw',
15 }, {
16 key: 'spellcheck.dictionaries',
17 type: chrome.settingsPrivate.PrefType.LIST,
18 value: ['en-US'],
19 }, {
20 key: 'translate_blocked_languages',
21 type: chrome.settingsPrivate.PrefType.LIST,
22 value: ['en-US'],
23 }];
24 if (cr.isChromeOS) {
25 fakePrefs.push({
26 key: 'settings.language.preferred_languages',
27 type: chrome.settingsPrivate.PrefType.STRING,
28 value: 'en-US,sw',
29 });
30 fakePrefs.push({
31 key: 'settings.language.preload_engines',
32 type: chrome.settingsPrivate.PrefType.STRING,
33 value: '_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us::eng,' +
34 '_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us:dvorak:eng',
35 });
36 fakePrefs.push({
37 key: 'settings.language.enabled_extension_imes',
38 type: chrome.settingsPrivate.PrefType.STRING,
39 value: '',
40 });
41 }
42 return fakePrefs;
43 }
44
45 /** @type {?SettingsEditDictionaryPageElement} */
46 var editDictPage;
47 /** @type {?FakeLanguageSettingsPrivate} */
48 var languageSettingsPrivate;
49 /** @type {?FakeSettingsPrivate} */
50 var settingsPrefs;
51
52 suiteSetup(function() {
53 CrSettingsPrefs.deferInitialization = true;
54 });
55
56 setup(function() {
57 PolymerTest.clearBody();
58 settingsPrefs = document.createElement('settings-prefs');
59 var settingsPrivate = new settings.FakeSettingsPrivate(getFakePrefs());
60 settingsPrefs.initialize(settingsPrivate);
61
62 languageSettingsPrivate = new settings.FakeLanguageSettingsPrivate();
63 languageSettingsPrivate.setSettingsPrefs(settingsPrefs);
64 settings.languageSettingsPrivateApiForTest = languageSettingsPrivate;
65
66 editDictPage = document.createElement('settings-edit-dictionary-page');
67
68 // Prefs would normally be data-bound to settings-languages.
69 document.body.appendChild(editDictPage);
70 });
71
72 teardown(function(){
73 editDictPage.remove();
74 });
75
76 test('add word validation', function() {
77 // Check addWord enable/disable logic
78 var addWordButton = editDictPage.$.addWord;
79 assertTrue(!!addWordButton);
80 editDictPage.$.newWord.value = '';
81 assertTrue(addWordButton.disabled);
82 editDictPage.$.newWord.value = 'valid word';
83 assertFalse(addWordButton.disabled);
84 assertFalse(window.getComputedStyle(addWordButton)['pointer-events'] ===
85 'none'); // Make sure add-word button actually clickable.
86 });
87
88 test('spellcheck edit dictionary page message when empty', function() {
89 assertTrue(!!editDictPage);
90 return languageSettingsPrivate.whenCalled('getSpellcheckWords').then(
91 function() {
92 Polymer.dom.flush();
93
94 assertTrue(!!editDictPage.$$('#noWordsLabel'));
95 assertFalse(!!editDictPage.$$('#list'));
96 });
97 });
98
99 test('spellcheck edit dictionary page list has words', function() {
100 var addWordButton = editDictPage.$$('#addWord');
101 editDictPage.$.newWord.value = "valid word";
102 MockInteractions.tap(addWordButton);
103 editDictPage.$.newWord.value = "valid word2";
104 MockInteractions.tap(addWordButton);
105 Polymer.dom.flush();
106
107 assertFalse(!!editDictPage.$$('#noWordsLabel'));
108 assertTrue(!!editDictPage.$$('#list'));
109 assertEquals(2, editDictPage.$$('#list').items.length);
110 });
111
112 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698