summaryrefslogtreecommitdiff
path: root/base/i18n/timezone_unittest.cc
blob: 57467dced1b44bb681bcebf16e4b2fa0c2450d0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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