blob: bfd3acb62c92379c2d5f730e503e84b7f96de3bf [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
GEN_INCLUDE(['options_browsertest_base.js']);
/**
* TestFixture for language options WebUI testing.
* @extends {testing.Test}
* @constructor
*/
function LanguageOptionsWebUITest() {}
LanguageOptionsWebUITest.prototype = {
__proto__: OptionsBrowsertestBase.prototype,
/** @override */
browsePreload: 'chrome://settings-frame/languages',
/** @override */
setUp: function() {
OptionsBrowsertestBase.prototype.setUp.call(this);
// Enable when failure is resolved.
// AX_ARIA_10: http://crbug.com/559266
this.accessibilityAuditConfig.ignoreSelectors(
'unsupportedAriaAttribute',
'#language-options-list');
// Enable when failure is resolved.
// AX_TEXT_04: http://crbug.com/559271
this.accessibilityAuditConfig.ignoreSelectors(
'linkWithUnclearPurpose',
'#languagePage > .content-area > .language-options-header > A');
}
};
// Test opening language options has correct location.
TEST_F('LanguageOptionsWebUITest', 'testOpenLanguageOptions', function() {
assertEquals(this.browsePreload, document.location.href);
});
GEN('#if defined(OS_WIN) || defined(OS_CHROMEOS)');
// Test reselecting the same language as the current UI locale. This should show
// a "Chrome is displayed in this language" message rather than a restart banner
// or a [ Display Chrome in this language ] button.
TEST_F('LanguageOptionsWebUITest', 'reselectUILocale', function() {
var currentLang = loadTimeData.getString('currentUiLanguageCode');
$('language-options-list').selectLanguageByCode(currentLang);
LanguageOptions.uiLanguageSaved(currentLang);
expectTrue($('language-options-ui-language-button').hidden);
expectFalse($('language-options-ui-language-message').hidden);
expectTrue($('language-options-ui-notification-bar').hidden);
});
GEN('#endif'); // defined(OS_WIN) || defined(OS_CHROMEOS)