Coverage Report

Created: 2018-09-25 14:53

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