diff options
Diffstat (limited to 'base/i18n/timezone_unittest.cc')
-rw-r--r-- | base/i18n/timezone_unittest.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/base/i18n/timezone_unittest.cc b/base/i18n/timezone_unittest.cc new file mode 100644 index 0000000000..57467dced1 --- /dev/null +++ b/base/i18n/timezone_unittest.cc @@ -0,0 +1,27 @@ +// 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 |