Don't show supervised user as "already on this device" while they're being imported.
[chromium-blink-merge.git] / chrome / browser / ui / webui / options / language_options_dictionary_download_browsertest.js
blob89d1ecd5f10a11157eddd07968ae735732488905
1 // Copyright (c) 2012 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.
5 /**
6 * TestFixture for testing messages of dictionary download progress in language
7 * options WebUI.
8 * @extends {testing.Test}
9 * @constructor
11 function LanguagesOptionsDictionaryDownloadWebUITest() {}
13 LanguagesOptionsDictionaryDownloadWebUITest.prototype = {
14 __proto__: testing.Test.prototype,
16 /**
17 * Browse to languages options.
19 browsePreload: 'chrome://settings-frame/languages',
21 /**
22 * Register a mock dictionary handler.
24 preLoad: function() {
25 this.makeAndRegisterMockHandler(['retryDictionaryDownload']);
26 this.mockHandler.stubs().retryDictionaryDownload().
27 will(callFunction(function() {
28 options.LanguageOptions.onDictionaryDownloadBegin('en-US');
29 }));
33 // Verify that dictionary download success shows 'This language is used for
34 // spellchecking' message.
35 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest',
36 'testdictionaryDownloadSuccess',
37 function() {
38 options.LanguageOptions.onDictionaryDownloadSuccess('en-US');
39 expectFalse($('language-options-spell-check-language-message').hidden);
40 expectTrue($('language-options-dictionary-downloading-message').hidden);
41 expectTrue($('language-options-dictionary-download-failed-message').hidden);
42 expectTrue(
43 $('language-options-dictionary-download-fail-help-message').hidden);
44 });
46 // Verify that dictionary download in progress shows 'Downloading spell check
47 // language' message.
48 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest',
49 'testdictionaryDownloadProgress',
50 function() {
51 options.LanguageOptions.onDictionaryDownloadBegin('en-US');
52 expectTrue($('language-options-spell-check-language-message').hidden);
53 expectFalse($('language-options-dictionary-downloading-message').hidden);
54 expectTrue($('language-options-dictionary-download-failed-message').hidden);
55 expectTrue(
56 $('language-options-dictionary-download-fail-help-message').hidden);
57 });
59 // Verify that failure in dictionary download shows 'Dictionary download failed'
60 // message.
61 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest',
62 'testdictionaryDownloadFailed',
63 function() {
64 // Clear the failure counter:
65 options.LanguageOptions.onDictionaryDownloadSuccess('en-US');
67 // First failure shows a short error message.
68 options.LanguageOptions.onDictionaryDownloadFailure('en-US');
69 expectTrue($('language-options-spell-check-language-message').hidden);
70 expectTrue($('language-options-dictionary-downloading-message').hidden);
71 expectFalse($('language-options-dictionary-download-failed-message').hidden);
72 expectTrue(
73 $('language-options-dictionary-download-fail-help-message').hidden);
75 // Second and all following failures show a longer error message.
76 options.LanguageOptions.onDictionaryDownloadFailure('en-US');
77 expectTrue($('language-options-spell-check-language-message').hidden);
78 expectTrue($('language-options-dictionary-downloading-message').hidden);
79 expectFalse($('language-options-dictionary-download-failed-message').hidden);
80 expectFalse(
81 $('language-options-dictionary-download-fail-help-message').hidden);
83 options.LanguageOptions.onDictionaryDownloadFailure('en-US');
84 expectTrue($('language-options-spell-check-language-message').hidden);
85 expectTrue($('language-options-dictionary-downloading-message').hidden);
86 expectFalse($('language-options-dictionary-download-failed-message').hidden);
87 expectFalse(
88 $('language-options-dictionary-download-fail-help-message').hidden);
89 });
91 // Verify that clicking the retry button calls the handler.
92 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest',
93 'testdictionaryDownloadRetry',
94 function() {
95 this.mockHandler.expects(once()).retryDictionaryDownload().
96 will(callFunction(function() {
97 options.LanguageOptions.onDictionaryDownloadBegin('en-US');
98 }));
99 options.LanguageOptions.onDictionaryDownloadFailure('en-US');
100 $('dictionary-download-retry-button').click();