xref: /aosp_15_r20/external/libchrome/base/i18n/timezone_unittest.cc (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
1*635a8641SAndroid Build Coastguard Worker // Copyright 2013 The Chromium Authors. All rights reserved.
2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file.
4*635a8641SAndroid Build Coastguard Worker 
5*635a8641SAndroid Build Coastguard Worker #include "base/i18n/timezone.h"
6*635a8641SAndroid Build Coastguard Worker 
7*635a8641SAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h"
8*635a8641SAndroid Build Coastguard Worker 
9*635a8641SAndroid Build Coastguard Worker namespace base {
10*635a8641SAndroid Build Coastguard Worker namespace {
11*635a8641SAndroid Build Coastguard Worker 
TEST(TimezoneTest,CountryCodeForCurrentTimezone)12*635a8641SAndroid Build Coastguard Worker TEST(TimezoneTest, CountryCodeForCurrentTimezone) {
13*635a8641SAndroid Build Coastguard Worker   std::string country_code = CountryCodeForCurrentTimezone();
14*635a8641SAndroid Build Coastguard Worker   // On some systems (such as Android or some flavors of Linux), ICU may come up
15*635a8641SAndroid Build Coastguard Worker   // empty. With https://chromium-review.googlesource.com/c/512282/ , ICU will
16*635a8641SAndroid Build Coastguard Worker   // not fail any more. See also http://bugs.icu-project.org/trac/ticket/13208 .
17*635a8641SAndroid Build Coastguard Worker   // Even with that, ICU returns '001' (world) for region-agnostic timezones
18*635a8641SAndroid Build Coastguard Worker   // such as Etc/UTC and |CountryCodeForCurrentTimezone| returns an empty
19*635a8641SAndroid Build Coastguard Worker   // string so that the next fallback can be tried by a customer.
20*635a8641SAndroid Build Coastguard Worker   // TODO(jshin): Revise this to test for actual timezones using
21*635a8641SAndroid Build Coastguard Worker   // use ScopedRestoreICUDefaultTimezone.
22*635a8641SAndroid Build Coastguard Worker   if (!country_code.empty())
23*635a8641SAndroid Build Coastguard Worker     EXPECT_EQ(2U, country_code.size()) << "country_code = " << country_code;
24*635a8641SAndroid Build Coastguard Worker }
25*635a8641SAndroid Build Coastguard Worker 
26*635a8641SAndroid Build Coastguard Worker }  // namespace
27*635a8641SAndroid Build Coastguard Worker }  // namespace base
28