14a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 24a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 34a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// found in the LICENSE file. 44a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 54a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// This file contains unit tests for Windows internationalization funcs. 64a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 74a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "testing/gtest/include/gtest/gtest.h" 84a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 94a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "base/win/i18n.h" 104a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "base/win/windows_version.h" 114a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 124a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace base { 134a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace win { 144a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdochnamespace i18n { 154a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 164a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Tests that at least one user preferred UI language can be obtained. 174a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben MurdochTEST(I18NTest, GetUserPreferredUILanguageList) { 184a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch std::vector<std::wstring> languages; 194a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch EXPECT_TRUE(GetUserPreferredUILanguageList(&languages)); 204a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch EXPECT_NE(static_cast<std::vector<std::wstring>::size_type>(0), 214a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch languages.size()); 224a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch for (std::vector<std::wstring>::const_iterator scan = languages.begin(), 234a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch end = languages.end(); scan != end; ++scan) { 244a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch EXPECT_FALSE((*scan).empty()); 254a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch } 264a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch} 274a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 284a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Tests that at least one thread preferred UI language can be obtained. 294a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben MurdochTEST(I18NTest, GetThreadPreferredUILanguageList) { 304a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch std::vector<std::wstring> languages; 314a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch EXPECT_TRUE(GetThreadPreferredUILanguageList(&languages)); 324a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch EXPECT_NE(static_cast<std::vector<std::wstring>::size_type>(0), 334a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch languages.size()); 344a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch for (std::vector<std::wstring>::const_iterator scan = languages.begin(), 354a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch end = languages.end(); scan != end; ++scan) { 364a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch EXPECT_FALSE((*scan).empty()); 374a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch } 384a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch} 394a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch 404a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch} // namespace i18n 414a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch} // namespace win 424a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch} // namespace base 43