/src/mozilla-central/intl/locale/tests/gtest/TestLocaleService.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 | | /* This Source Code Form is subject to the terms of the Mozilla Public |
3 | | * License, v. 2.0. If a copy of the MPL was not distributed with this |
4 | | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
5 | | |
6 | | #include "gtest/gtest.h" |
7 | | #include "mozilla/intl/LocaleService.h" |
8 | | #include "mozilla/intl/MozLocale.h" |
9 | | #include "mozilla/Services.h" |
10 | | #include "nsIToolkitChromeRegistry.h" |
11 | | |
12 | | using namespace mozilla::intl; |
13 | | |
14 | 0 | TEST(Intl_Locale_LocaleService, GetAppLocalesAsBCP47) { |
15 | 0 | nsTArray<nsCString> appLocales; |
16 | 0 | LocaleService::GetInstance()->GetAppLocalesAsBCP47(appLocales); |
17 | 0 |
|
18 | 0 | ASSERT_FALSE(appLocales.IsEmpty()); |
19 | 0 | } |
20 | | |
21 | 0 | TEST(Intl_Locale_LocaleService, GetAppLocalesAsLangTags) { |
22 | 0 | nsTArray<nsCString> appLocales; |
23 | 0 | LocaleService::GetInstance()->GetAppLocalesAsLangTags(appLocales); |
24 | 0 |
|
25 | 0 | ASSERT_FALSE(appLocales.IsEmpty()); |
26 | 0 | } |
27 | | |
28 | 0 | TEST(Intl_Locale_LocaleService, GetAppLocalesAsLangTags_lastIsEnUS) { |
29 | 0 | nsAutoCString lastFallbackLocale; |
30 | 0 | LocaleService::GetInstance()->GetLastFallbackLocale(lastFallbackLocale); |
31 | 0 |
|
32 | 0 | nsTArray<nsCString> appLocales; |
33 | 0 | LocaleService::GetInstance()->GetAppLocalesAsLangTags(appLocales); |
34 | 0 |
|
35 | 0 | int32_t len = appLocales.Length(); |
36 | 0 | ASSERT_TRUE(appLocales[len - 1].Equals(lastFallbackLocale)); |
37 | 0 | } |
38 | | |
39 | 0 | TEST(Intl_Locale_LocaleService, GetAppLocaleAsLangTag) { |
40 | 0 | nsTArray<nsCString> appLocales; |
41 | 0 | LocaleService::GetInstance()->GetAppLocalesAsLangTags(appLocales); |
42 | 0 |
|
43 | 0 | nsAutoCString locale; |
44 | 0 | LocaleService::GetInstance()->GetAppLocaleAsLangTag(locale); |
45 | 0 |
|
46 | 0 | ASSERT_TRUE(appLocales[0] == locale); |
47 | 0 | } |
48 | | |
49 | 0 | TEST(Intl_Locale_LocaleService, GetRegionalPrefsLocales) { |
50 | 0 | nsTArray<nsCString> rpLocales; |
51 | 0 | LocaleService::GetInstance()->GetRegionalPrefsLocales(rpLocales); |
52 | 0 |
|
53 | 0 | int32_t len = rpLocales.Length(); |
54 | 0 | ASSERT_TRUE(len > 0); |
55 | 0 | } |
56 | | |
57 | 0 | TEST(Intl_Locale_LocaleService, GetRequestedLocales) { |
58 | 0 | nsTArray<nsCString> reqLocales; |
59 | 0 | LocaleService::GetInstance()->GetRequestedLocales(reqLocales); |
60 | 0 |
|
61 | 0 | int32_t len = reqLocales.Length(); |
62 | 0 | ASSERT_TRUE(len > 0); |
63 | 0 | } |
64 | | |
65 | 0 | TEST(Intl_Locale_LocaleService, GetAvailableLocales) { |
66 | 0 | nsTArray<nsCString> availableLocales; |
67 | 0 | LocaleService::GetInstance()->GetAvailableLocales(availableLocales); |
68 | 0 |
|
69 | 0 | int32_t len = availableLocales.Length(); |
70 | 0 | ASSERT_TRUE(len > 0); |
71 | 0 | } |
72 | | |
73 | 0 | TEST(Intl_Locale_LocaleService, GetPackagedLocales) { |
74 | 0 | nsTArray<nsCString> packagedLocales; |
75 | 0 | LocaleService::GetInstance()->GetPackagedLocales(packagedLocales); |
76 | 0 |
|
77 | 0 | int32_t len = packagedLocales.Length(); |
78 | 0 | ASSERT_TRUE(len > 0); |
79 | 0 | } |
80 | | |
81 | 0 | TEST(Intl_Locale_LocaleService, GetDefaultLocale) { |
82 | 0 | nsAutoCString locStr; |
83 | 0 | LocaleService::GetInstance()->GetDefaultLocale(locStr); |
84 | 0 |
|
85 | 0 | ASSERT_FALSE(locStr.IsEmpty()); |
86 | 0 | ASSERT_TRUE(Locale(locStr).IsWellFormed()); |
87 | 0 | } |
88 | | |
89 | 0 | TEST(Intl_Locale_LocaleService, IsAppLocaleRTL) { |
90 | 0 | // For now we can only test if the method doesn't crash. |
91 | 0 | LocaleService::GetInstance()->IsAppLocaleRTL(); |
92 | 0 | ASSERT_TRUE(true); |
93 | 0 | } |