OLD | NEW |
| (Empty) |
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. | |
4 | |
5 GEN_INCLUDE(['options_browsertest_base.js']); | |
6 | |
7 /** | |
8 * TestFixture for testing messages of dictionary download progress in language | |
9 * options WebUI. | |
10 * @extends {testing.Test} | |
11 * @constructor | |
12 */ | |
13 function LanguagesOptionsDictionaryDownloadWebUITest() {} | |
14 | |
15 LanguagesOptionsDictionaryDownloadWebUITest.prototype = { | |
16 __proto__: OptionsBrowsertestBase.prototype, | |
17 | |
18 /** | |
19 * Browse to languages options. | |
20 */ | |
21 browsePreload: 'chrome://settings-frame/languages', | |
22 | |
23 /** | |
24 * Register a mock dictionary handler. | |
25 */ | |
26 preLoad: function() { | |
27 this.makeAndRegisterMockHandler(['retryDictionaryDownload']); | |
28 this.mockHandler.stubs().retryDictionaryDownload(). | |
29 will(callFunction(function() { | |
30 options.LanguageOptions.onDictionaryDownloadBegin('en-US'); | |
31 })); | |
32 }, | |
33 | |
34 /** @override */ | |
35 setUp: function() { | |
36 OptionsBrowsertestBase.prototype.setUp.call(this); | |
37 | |
38 // Enable when failure is resolved. | |
39 // AX_ARIA_10: http://crbug.com/570554 | |
40 this.accessibilityAuditConfig.ignoreSelectors( | |
41 'unsupportedAriaAttribute', | |
42 '#language-options-list'); | |
43 | |
44 // Enable when failure is resolved. | |
45 // AX_TEXT_04: http://crbug.com/570553 | |
46 this.accessibilityAuditConfig.ignoreSelectors( | |
47 'linkWithUnclearPurpose', | |
48 '#languagePage > .content-area > .language-options-header > A'); | |
49 }, | |
50 }; | |
51 | |
52 // Verify that dictionary download success does not show, "This language can't | |
53 // be used for spellchecking." or "Download failed." | |
54 // Disabled due to flakiness (crbug.com/616550). | |
55 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest', | |
56 'DISABLED_testdictionaryDownloadSuccess', | |
57 function() { | |
58 options.LanguageOptions.onDictionaryDownloadSuccess('en-US'); | |
59 expectTrue($('spellcheck-language-message').hidden); | |
60 expectTrue($('language-options-dictionary-downloading-message').hidden); | |
61 expectTrue($('language-options-dictionary-download-failed-message').hidden); | |
62 expectTrue( | |
63 $('language-options-dictionary-download-fail-help-message').hidden); | |
64 }); | |
65 | |
66 // Verify that dictionary download in progress shows 'Downloading spell check | |
67 // language' message. | |
68 // Disabled due to flakiness (crbug.com/616550). | |
69 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest', | |
70 'DISABLED_testdictionaryDownloadProgress', | |
71 function() { | |
72 options.LanguageOptions.onDictionaryDownloadBegin('en-US'); | |
73 expectTrue($('spellcheck-language-message').hidden); | |
74 expectFalse($('language-options-dictionary-downloading-message').hidden); | |
75 expectTrue($('language-options-dictionary-download-failed-message').hidden); | |
76 expectTrue( | |
77 $('language-options-dictionary-download-fail-help-message').hidden); | |
78 }); | |
79 | |
80 // Verify that failure in dictionary download shows 'Dictionary download failed' | |
81 // message. | |
82 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest', | |
83 'testdictionaryDownloadFailed', | |
84 function() { | |
85 // Clear the failure counter: | |
86 options.LanguageOptions.onDictionaryDownloadSuccess('en-US'); | |
87 | |
88 // First failure shows a short error message. | |
89 options.LanguageOptions.onDictionaryDownloadFailure('en-US'); | |
90 expectTrue($('spellcheck-language-message').hidden); | |
91 expectTrue($('language-options-dictionary-downloading-message').hidden); | |
92 expectFalse($('language-options-dictionary-download-failed-message').hidden); | |
93 expectTrue( | |
94 $('language-options-dictionary-download-fail-help-message').hidden); | |
95 | |
96 // Second and all following failures show a longer error message. | |
97 options.LanguageOptions.onDictionaryDownloadFailure('en-US'); | |
98 expectTrue($('spellcheck-language-message').hidden); | |
99 expectTrue($('language-options-dictionary-downloading-message').hidden); | |
100 expectFalse($('language-options-dictionary-download-failed-message').hidden); | |
101 expectFalse( | |
102 $('language-options-dictionary-download-fail-help-message').hidden); | |
103 | |
104 options.LanguageOptions.onDictionaryDownloadFailure('en-US'); | |
105 expectTrue($('spellcheck-language-message').hidden); | |
106 expectTrue($('language-options-dictionary-downloading-message').hidden); | |
107 expectFalse($('language-options-dictionary-download-failed-message').hidden); | |
108 expectFalse( | |
109 $('language-options-dictionary-download-fail-help-message').hidden); | |
110 }); | |
111 | |
112 // Verify that clicking the retry button calls the handler. | |
113 // This test is flaky on Windows. https://crbug.com/616791 | |
114 GEN('#if defined(OS_WIN)'); | |
115 GEN('#define MAYBE_testdictionaryDownloadRetry ' + | |
116 'DISABLED_testdictionaryDownloadRetry'); | |
117 GEN('#else'); | |
118 GEN('#define MAYBE_testdictionaryDownloadRetry testdictionaryDownloadRetry'); | |
119 GEN('#endif // defined(OS_WIN)'); | |
120 TEST_F('LanguagesOptionsDictionaryDownloadWebUITest', | |
121 'MAYBE_testdictionaryDownloadRetry', | |
122 function() { | |
123 this.mockHandler.expects(once()).retryDictionaryDownload('en-US'). | |
124 will(callFunction(function() { | |
125 options.LanguageOptions.onDictionaryDownloadBegin('en-US'); | |
126 })); | |
127 options.LanguageOptions.onDictionaryDownloadFailure('en-US'); | |
128 $('dictionary-download-retry-button').click(); | |
129 }); | |
OLD | NEW |