1// Copyright 2014 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/**
6 * TestFixture for language options WebUI testing.
7 * @extends {testing.Test}
8 * @constructor
9 */
10function LanguageOptionsWebUITest() {}
11
12LanguageOptionsWebUITest.prototype = {
13  __proto__: testing.Test.prototype,
14
15  /** @override */
16  browsePreload: 'chrome://settings-frame/languages',
17};
18
19// Test opening language options has correct location.
20TEST_F('LanguageOptionsWebUITest', 'testOpenLanguageOptions', function() {
21  assertEquals(this.browsePreload, document.location.href);
22});
23
24GEN('#if defined(OS_WIN) || defined(OS_CHROMEOS)');
25// Test reselecting the same language as the current UI locale. This should show
26// a "Chrome is displayed in this language" message rather than a restart banner
27// or a [ Display Chrome in this language ] button.
28TEST_F('LanguageOptionsWebUITest', 'reselectUILocale', function() {
29  var currentLang = loadTimeData.getString('currentUiLanguageCode');
30  $('language-options-list').selectLanguageByCode(currentLang);
31  LanguageOptions.uiLanguageSaved(currentLang);
32
33  expectTrue($('language-options-ui-language-button').hidden);
34  expectFalse($('language-options-ui-language-message').hidden);
35  expectTrue($('language-options-ui-notification-bar').hidden);
36});
37GEN('#endif');  // defined(OS_WIN) || defined(OS_CHROMEOS)
38