|  | // Copyright 2013 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "base/i18n/timezone.h" | 
|  |  | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace base { | 
|  | namespace { | 
|  |  | 
|  | TEST(TimezoneTest, CountryCodeForCurrentTimezone) { | 
|  | std::string country_code = CountryCodeForCurrentTimezone(); | 
|  | // On some systems (such as Android or some flavors of Linux), ICU may come up | 
|  | // empty. With https://chromium-review.googlesource.com/c/512282/ , ICU will | 
|  | // not fail any more. See also http://bugs.icu-project.org/trac/ticket/13208 . | 
|  | // Even with that, ICU returns '001' (world) for region-agnostic timezones | 
|  | // such as Etc/UTC and |CountryCodeForCurrentTimezone| returns an empty | 
|  | // string so that the next fallback can be tried by a customer. | 
|  | // TODO(jshin): Revise this to test for actual timezones using | 
|  | // use ScopedRestoreICUDefaultTimezone. | 
|  | if (!country_code.empty()) | 
|  | EXPECT_EQ(2U, country_code.size()) << "country_code = " << country_code; | 
|  | } | 
|  |  | 
|  | }  // namespace | 
|  | }  // namespace base |