// 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)