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

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: fix 80 col 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.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('settings-edit-dictionary-page', function() {
6
dpapad 2017/02/15 20:36:37 Nit (optional): Remove unnecessary blank line?
scottchen 2017/02/22 21:42:25 Done.
7 suite('settings-edit-dictionary-page', function() {
8
9 function getFakePrefs() {
10 var fakePrefs = [{
11 key: 'intl.app_locale',
12 type: chrome.settingsPrivate.PrefType.STRING,
13 value: 'en-US',
14 }, {
15 key: 'intl.accept_languages',
16 type: chrome.settingsPrivate.PrefType.STRING,
17 value: 'en-US,sw',
18 }, {
19 key: 'spellcheck.dictionaries',
20 type: chrome.settingsPrivate.PrefType.LIST,
21 value: ['en-US'],
22 }, {
23 key: 'translate_blocked_languages',
24 type: chrome.settingsPrivate.PrefType.LIST,
25 value: ['en-US'],
26 }];
27 if (cr.isChromeOS) {
28 fakePrefs.push({
29 key: 'settings.language.preferred_languages',
30 type: chrome.settingsPrivate.PrefType.STRING,
31 value: 'en-US,sw',
32 });
33 fakePrefs.push({
34 key: 'settings.language.preload_engines',
35 type: chrome.settingsPrivate.PrefType.STRING,
36 value: '_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us::eng,' +
37 '_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us:dvorak:eng',
38 });
39 fakePrefs.push({
40 key: 'settings.language.enabled_extension_imes',
41 type: chrome.settingsPrivate.PrefType.STRING,
42 value: '',
43 });
44 }
45 return fakePrefs;
46 }
47
48 var editDictPage;
49 var languageSettingsPrivate;
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.
dpapad 2017/02/15 20:36:37 https://google.github.io/styleguide/jsguide.html#f
scottchen 2017/02/22 21:42:25 Done.
86 });
87
88 test('spellcheck edit dictionary page message when empty', function() {
89 assertTrue(!!editDictPage);
90 editDictPage.words_ = [];
dpapad 2017/02/15 20:36:37 Can we improve this test? Currently it is accessin
scottchen 2017/02/22 21:42:25 Done.
91 Polymer.dom.flush();
92
93 assertTrue(!!editDictPage.root.querySelector('#noWordsLabel'));
94 assertFalse(!!editDictPage.root.querySelector('#list'));
95 });
96
97 test('spellcheck edit dictionary page list has words', function() {
98 var addWordButton = editDictPage.root.querySelector('#addWord');
99 editDictPage.$.newWord.value = "valid word";
100 MockInteractions.tap(addWordButton);
101 editDictPage.$.newWord.value = "valid word2";
102 MockInteractions.tap(addWordButton);
103 Polymer.dom.flush();
104
105 assertFalse(!!editDictPage.root.querySelector('#noWordsLabel'));
106 assertTrue(!!editDictPage.root.querySelector('#list'));
107 assertEquals(2, editDictPage.root.querySelector('#list').items.length);
108 });
109
110 });
111 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698