/* * Copyright (c) 2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "i18n_timezone.h" #include "timezone_location_test.h" using namespace OHOS::Global::I18n; using testing::ext::TestSize; using namespace std; using namespace testing; namespace OHOS { namespace Global { namespace I18n { std::vector>> TimeZoneLocationTest::timeZoneTestcases { { -180.0, -90.0, { "Pacific/Auckland" } }, { -180.0, -80.0, { "Pacific/Auckland" } }, { -180.0, -70.0, { "Etc/GMT+12" } }, { -180.0, -60.0, { "Etc/GMT+12" } }, { -180.0, -50.0, { "Etc/GMT+12" } }, { -180.0, -40.0, { "Etc/GMT+12" } }, { -180.0, -30.0, { "Etc/GMT+12" } }, { -180.0, -20.0, { "Etc/GMT+12" } }, { -180.0, -10.0, { "Etc/GMT+12" } }, { -180.0, 0.0, { "Etc/GMT+12" } }, { -180.0, 10.0, { "Etc/GMT+12" } }, { -180.0, 20.0, { "Etc/GMT+12" } }, { -180.0, 30.0, { "Etc/GMT+12" } }, { -180.0, 40.0, { "Etc/GMT+12" } }, { -180.0, 50.0, { "Etc/GMT+12" } }, { -180.0, 60.0, { "Etc/GMT+12" } }, { -180.0, 70.0, { "Etc/GMT+12" } }, { -180.0, 80.0, { "Etc/GMT+12" } }, { -170.0, -90.0, { "Pacific/Auckland" } }, { -170.0, -80.0, { "Pacific/Auckland" } }, { -170.0, -70.0, { "Etc/GMT+11" } }, { -170.0, -60.0, { "Etc/GMT+11" } }, { -170.0, -50.0, { "Etc/GMT+11" } }, { -170.0, -40.0, { "Etc/GMT+11" } }, { -170.0, -30.0, { "Etc/GMT+11" } }, { -170.0, -20.0, { "Etc/GMT+11" } }, { -170.0, -10.0, { "Etc/GMT+11" } }, { -170.0, 0.0, { "Etc/GMT+11" } }, { -170.0, 10.0, { "Etc/GMT+11" } }, { -170.0, 20.0, { "Etc/GMT+11" } }, { -170.0, 30.0, { "Etc/GMT+11" } }, { -170.0, 40.0, { "Etc/GMT+11" } }, { -170.0, 50.0, { "Etc/GMT+11" } }, { -170.0, 60.0, { "Etc/GMT+11" } }, { -170.0, 70.0, { "Etc/GMT+11" } }, { -170.0, 80.0, { "Etc/GMT+11" } }, { -160.0, -90.0, { "Pacific/Auckland" } }, { -160.0, -80.0, { "Pacific/Auckland" } }, { -160.0, -70.0, { "Etc/GMT+11" } }, { -160.0, -60.0, { "Etc/GMT+11" } }, { -160.0, -50.0, { "Etc/GMT+11" } }, { -160.0, -40.0, { "Etc/GMT+11" } }, { -160.0, -30.0, { "Etc/GMT+11" } }, { -160.0, -20.0, { "Etc/GMT+11" } }, { -160.0, -10.0, { "Etc/GMT+11" } }, { -160.0, 0.0, { "Etc/GMT+11" } }, { -160.0, 10.0, { "Etc/GMT+11" } }, { -160.0, 20.0, { "Etc/GMT+11" } }, { -160.0, 30.0, { "Etc/GMT+11" } }, { -160.0, 40.0, { "Etc/GMT+11" } }, { -160.0, 50.0, { "Etc/GMT+11" } }, { -160.0, 60.0, { "America/Anchorage" } }, { -160.0, 70.0, { "America/Anchorage" } }, { -160.0, 80.0, { "Etc/GMT+11" } }, { -150.0, -90.0, { "Pacific/Auckland" } }, { -150.0, -80.0, { "Pacific/Auckland" } }, { -150.0, -70.0, { "Etc/GMT+10" } }, { -150.0, -60.0, { "Etc/GMT+10" } }, { -150.0, -50.0, { "Etc/GMT+10" } }, { -150.0, -40.0, { "Etc/GMT+10" } }, { -150.0, -30.0, { "Etc/GMT+10" } }, { -150.0, -20.0, { "Etc/GMT+10" } }, { -150.0, -10.0, { "Pacific/Kiritimati" } }, { -150.0, 0.0, { "Etc/GMT+10" } }, { -150.0, 10.0, { "Etc/GMT+10" } }, { -150.0, 20.0, { "Etc/GMT+10" } }, { -150.0, 30.0, { "Etc/GMT+10" } }, { -150.0, 40.0, { "Etc/GMT+10" } }, { -150.0, 50.0, { "Etc/GMT+10" } }, { -150.0, 60.0, { "America/Anchorage" } }, { -150.0, 70.0, { "America/Anchorage" } }, { -150.0, 80.0, { "Etc/GMT+10" } }, { -140.0, -90.0, { "Pacific/Auckland" } }, { -140.0, -80.0, { "Etc/GMT+9" } }, { -140.0, -70.0, { "Etc/GMT+9" } }, { -140.0, -60.0, { "Etc/GMT+9" } }, { -140.0, -50.0, { "Etc/GMT+9" } }, { -140.0, -40.0, { "Etc/GMT+9" } }, { -140.0, -30.0, { "Etc/GMT+9" } }, { -140.0, -20.0, { "Etc/GMT+9" } }, { -140.0, -10.0, { "Etc/GMT+9" } }, { -140.0, 0.0, { "Etc/GMT+9" } }, { -140.0, 10.0, { "Etc/GMT+9" } }, { -140.0, 20.0, { "Etc/GMT+9" } }, { -140.0, 30.0, { "Etc/GMT+9" } }, { -140.0, 40.0, { "Etc/GMT+9" } }, { -140.0, 50.0, { "Etc/GMT+9" } }, { -140.0, 60.0, { "America/Yakutat" } }, { -140.0, 70.0, { "Etc/GMT+9" } }, { -140.0, 80.0, { "Etc/GMT+9" } }, { -130.0, -90.0, { "Pacific/Auckland" } }, { -130.0, -80.0, { "Etc/GMT+9" } }, { -130.0, -70.0, { "Etc/GMT+9" } }, { -130.0, -60.0, { "Etc/GMT+9" } }, { -130.0, -50.0, { "Etc/GMT+9" } }, { -130.0, -40.0, { "Etc/GMT+9" } }, { -130.0, -30.0, { "Etc/GMT+9" } }, { -130.0, -20.0, { "Etc/GMT+9" } }, { -130.0, -10.0, { "Etc/GMT+9" } }, { -130.0, 0.0, { "Etc/GMT+9" } }, { -130.0, 10.0, { "Etc/GMT+9" } }, { -130.0, 20.0, { "Etc/GMT+9" } }, { -130.0, 30.0, { "Etc/GMT+9" } }, { -130.0, 40.0, { "Etc/GMT+9" } }, { -130.0, 50.0, { "Etc/GMT+9" } }, { -130.0, 60.0, { "America/Whitehorse" } }, { -130.0, 70.0, { "America/Inuvik" } }, { -130.0, 80.0, { "Etc/GMT+9" } }, { -120.0, -90.0, { "Pacific/Auckland" } }, { -120.0, -80.0, { "Etc/GMT+8" } }, { -120.0, -70.0, { "Etc/GMT+8" } }, { -120.0, -60.0, { "Etc/GMT+8" } }, { -120.0, -50.0, { "Etc/GMT+8" } }, { -120.0, -40.0, { "Etc/GMT+8" } }, { -120.0, -30.0, { "Etc/GMT+8" } }, { -120.0, -20.0, { "Etc/GMT+8" } }, { -120.0, -10.0, { "Etc/GMT+8" } }, { -120.0, 0.0, { "Etc/GMT+8" } }, { -120.0, 10.0, { "Etc/GMT+8" } }, { -120.0, 20.0, { "Etc/GMT+8" } }, { -120.0, 30.0, { "Etc/GMT+8" } }, { -120.0, 40.0, { "America/Los_Angeles" } }, { -120.0, 50.0, { "America/Vancouver" } }, { -120.0, 60.0, { "America/Edmonton" } }, { -120.0, 70.0, { "America/Inuvik", "America/Edmonton" } }, { -120.0, 80.0, { "Etc/GMT+8" } }, { -110.0, -90.0, { "Pacific/Auckland" } }, { -110.0, -80.0, { "Etc/GMT+7" } }, { -110.0, -70.0, { "Etc/GMT+7" } }, { -110.0, -60.0, { "Etc/GMT+7" } }, { -110.0, -50.0, { "Etc/GMT+7" } }, { -110.0, -40.0, { "Etc/GMT+7" } }, { -110.0, -30.0, { "Etc/GMT+7" } }, { -110.0, -20.0, { "Etc/GMT+7" } }, { -110.0, -10.0, { "Etc/GMT+7" } }, { -110.0, 0.0, { "Etc/GMT+7" } }, { -110.0, 10.0, { "Etc/GMT+7" } }, { -110.0, 20.0, { "Etc/GMT+7" } }, { -110.0, 30.0, { "America/Hermosillo" } }, { -110.0, 40.0, { "America/Denver" } }, { -110.0, 50.0, { "America/Swift_Current" } }, { -110.0, 60.0, { "America/Edmonton" } }, { -110.0, 70.0, { "America/Cambridge_Bay" } }, { -110.0, 80.0, { "Etc/GMT+7" } }, { -100.0, -90.0, { "Pacific/Auckland" } }, { -100.0, -80.0, { "Etc/GMT+7" } }, { -100.0, -70.0, { "Etc/GMT+7" } }, { -100.0, -60.0, { "Etc/GMT+7" } }, { -100.0, -50.0, { "Etc/GMT+7" } }, { -100.0, -40.0, { "Etc/GMT+7" } }, { -100.0, -30.0, { "Etc/GMT+7" } }, { -100.0, -20.0, { "Etc/GMT+7" } }, { -100.0, -10.0, { "Etc/GMT+7" } }, { -100.0, 0.0, { "Etc/GMT+7" } }, { -100.0, 10.0, { "Etc/GMT+7" } }, { -100.0, 20.0, { "America/Mexico_City" } }, { -100.0, 30.0, { "America/Chicago" } }, { -100.0, 40.0, { "America/Chicago" } }, { -100.0, 50.0, { "America/Winnipeg" } }, { -100.0, 60.0, { "America/Rankin_Inlet" } }, { -100.0, 70.0, { "America/Cambridge_Bay" } }, { -100.0, 80.0, { "America/Rankin_Inlet" } }, { -90.0, -90.0, { "Pacific/Auckland" } }, { -90.0, -80.0, { "Etc/GMT+6" } }, { -90.0, -70.0, { "Etc/GMT+6" } }, { -90.0, -60.0, { "Etc/GMT+6" } }, { -90.0, -50.0, { "Etc/GMT+6" } }, { -90.0, -40.0, { "Etc/GMT+6" } }, { -90.0, -30.0, { "Etc/GMT+6" } }, { -90.0, -20.0, { "Etc/GMT+6" } }, { -90.0, -10.0, { "Etc/GMT+6" } }, { -90.0, 0.0, { "Pacific/Galapagos" } }, { -90.0, 10.0, { "Etc/GMT+6" } }, { -90.0, 20.0, { "America/Merida" } }, { -90.0, 30.0, { "America/Chicago" } }, { -90.0, 40.0, { "America/Chicago" } }, { -90.0, 50.0, { "America/Winnipeg", "America/Toronto" } }, { -90.0, 60.0, { "America/Rankin_Inlet" } }, { -90.0, 70.0, { "America/Cambridge_Bay" } }, { -90.0, 80.0, { "America/Rankin_Inlet" } }, { -80.0, -90.0, { "Pacific/Auckland" } }, { -80.0, -80.0, { "Antarctica/Rothera" } }, { -80.0, -70.0, { "Antarctica/Rothera" } }, { -80.0, -60.0, { "Etc/GMT+5" } }, { -80.0, -50.0, { "Etc/GMT+5" } }, { -80.0, -40.0, { "Etc/GMT+5" } }, { -80.0, -30.0, { "Etc/GMT+5" } }, { -80.0, -20.0, { "Etc/GMT+5" } }, { -80.0, -10.0, { "America/Lima" } }, { -80.0, 0.0, { "America/Guayaquil" } }, { -80.0, 10.0, { "Etc/GMT+5" } }, { -80.0, 20.0, { "Etc/GMT+5" } }, { -80.0, 30.0, { "Etc/GMT+5" } }, { -80.0, 40.0, { "America/New_York" } }, { -80.0, 50.0, { "America/Toronto" } }, { -80.0, 60.0, { "America/Iqaluit" } }, { -80.0, 70.0, { "America/Iqaluit" } }, { -80.0, 80.0, { "America/Iqaluit" } }, { -70.0, -90.0, { "Pacific/Auckland" } }, { -70.0, -80.0, { "Antarctica/Rothera" } }, { -70.0, -70.0, { "Antarctica/Rothera" } }, { -70.0, -60.0, { "Etc/GMT+5" } }, { -70.0, -50.0, { "America/Argentina/Rio_Gallegos" } }, { -70.0, -40.0, { "America/Argentina/Salta" } }, { -70.0, -30.0, { "America/Santiago" } }, { -70.0, -20.0, { "America/Santiago" } }, { -70.0, -10.0, { "America/Rio_Branco" } }, { -70.0, 0.0, { "America/Manaus" } }, { -70.0, 10.0, { "America/Caracas" } }, { -70.0, 20.0, { "America/Santo_Domingo" } }, { -70.0, 30.0, { "Etc/GMT+5" } }, { -70.0, 40.0, { "Etc/GMT+5" } }, { -70.0, 50.0, { "America/Toronto" } }, { -70.0, 60.0, { "America/Toronto" } }, { -70.0, 70.0, { "America/Iqaluit" } }, { -70.0, 80.0, { "America/Iqaluit" } }, { -60.0, -90.0, { "Pacific/Auckland" } }, { -60.0, -80.0, { "America/Argentina/Ushuaia" } }, { -60.0, -70.0, { "America/Argentina/Ushuaia" } }, { -60.0, -60.0, { "Etc/GMT+4" } }, { -60.0, -50.0, { "Etc/GMT+4" } }, { -60.0, -40.0, { "Etc/GMT+4" } }, { -60.0, -30.0, { "America/Argentina/Cordoba" } }, { -60.0, -20.0, { "America/Asuncion" } }, { -60.0, -10.0, { "America/Cuiaba" } }, { -60.0, 0.0, { "America/Manaus" } }, { -60.0, 10.0, { "Etc/GMT+4" } }, { -60.0, 20.0, { "Etc/GMT+4" } }, { -60.0, 30.0, { "Etc/GMT+4" } }, { -60.0, 40.0, { "Etc/GMT+4" } }, { -60.0, 50.0, { "America/Puerto_Rico" } }, { -60.0, 60.0, { "Etc/GMT+4" } }, { -60.0, 70.0, { "Etc/GMT+4" } }, { -60.0, 80.0, { "America/Nuuk" } }, { -50.0, -90.0, { "Pacific/Auckland" } }, { -50.0, -80.0, { "America/Argentina/Ushuaia" } }, { -50.0, -70.0, { "Etc/GMT+3" } }, { -50.0, -60.0, { "Etc/GMT+3" } }, { -50.0, -50.0, { "Etc/GMT+3" } }, { -50.0, -40.0, { "Etc/GMT+3" } }, { -50.0, -30.0, { "America/Sao_Paulo" } }, { -50.0, -20.0, { "America/Sao_Paulo" } }, { -50.0, -10.0, { "America/Araguaina" } }, { -50.0, 0.0, { "America/Belem" } }, { -50.0, 10.0, { "Etc/GMT+3" } }, { -50.0, 20.0, { "Etc/GMT+3" } }, { -50.0, 30.0, { "Etc/GMT+3" } }, { -50.0, 40.0, { "Etc/GMT+3" } }, { -50.0, 50.0, { "Etc/GMT+3" } }, { -50.0, 60.0, { "Etc/GMT+3" } }, { -50.0, 70.0, { "America/Nuuk" } }, { -50.0, 80.0, { "America/Nuuk" } }, { -40.0, -90.0, { "Pacific/Auckland" } }, { -40.0, -80.0, { "America/Argentina/Ushuaia" } }, { -40.0, -70.0, { "Etc/GMT+3" } }, { -40.0, -60.0, { "Etc/GMT+3" } }, { -40.0, -50.0, { "Etc/GMT+3" } }, { -40.0, -40.0, { "Etc/GMT+3" } }, { -40.0, -30.0, { "Etc/GMT+3" } }, { -40.0, -20.0, { "America/Sao_Paulo" } }, { -40.0, -10.0, { "America/Bahia" } }, { -40.0, 0.0, { "Etc/GMT+3" } }, { -40.0, 10.0, { "Etc/GMT+3" } }, { -40.0, 20.0, { "Etc/GMT+3" } }, { -40.0, 30.0, { "Etc/GMT+3" } }, { -40.0, 40.0, { "Etc/GMT+3" } }, { -40.0, 50.0, { "Etc/GMT+3" } }, { -40.0, 60.0, { "Etc/GMT+3" } }, { -40.0, 70.0, { "America/Nuuk" } }, { -40.0, 80.0, { "America/Nuuk" } }, { -30.0, -90.0, { "Pacific/Auckland" } }, { -30.0, -80.0, { "Antarctica/Rothera" } }, { -30.0, -70.0, { "Etc/GMT+2" } }, { -30.0, -60.0, { "Etc/GMT+2" } }, { -30.0, -50.0, { "Etc/GMT+2" } }, { -30.0, -40.0, { "Etc/GMT+2" } }, { -30.0, -30.0, { "Etc/GMT+2" } }, { -30.0, -20.0, { "Etc/GMT+2" } }, { -30.0, -10.0, { "Etc/GMT+2" } }, { -30.0, 0.0, { "Etc/GMT+2" } }, { -30.0, 10.0, { "Etc/GMT+2" } }, { -30.0, 20.0, { "Etc/GMT+2" } }, { -30.0, 30.0, { "Etc/GMT+2" } }, { -30.0, 40.0, { "Etc/GMT+2" } }, { -30.0, 50.0, { "Etc/GMT+2" } }, { -30.0, 60.0, { "Etc/GMT+2" } }, { -30.0, 70.0, { "America/Nuuk" } }, { -30.0, 80.0, { "America/Nuuk" } }, { -20.0, -90.0, { "Pacific/Auckland" } }, { -20.0, -80.0, { "Antarctica/Rothera" } }, { -20.0, -70.0, { "Etc/GMT+1" } }, { -20.0, -60.0, { "Etc/GMT+1" } }, { -20.0, -50.0, { "Etc/GMT+1" } }, { -20.0, -40.0, { "Etc/GMT+1" } }, { -20.0, -30.0, { "Etc/GMT+1" } }, { -20.0, -20.0, { "Etc/GMT+1" } }, { -20.0, -10.0, { "Etc/GMT+1" } }, { -20.0, 0.0, { "Etc/GMT+1" } }, { -20.0, 10.0, { "Etc/GMT+1" } }, { -20.0, 20.0, { "Etc/GMT+1" } }, { -20.0, 30.0, { "Etc/GMT+1" } }, { -20.0, 40.0, { "Etc/GMT+1" } }, { -20.0, 50.0, { "Etc/GMT+1" } }, { -20.0, 60.0, { "Etc/GMT+1" } }, { -20.0, 70.0, { "Etc/GMT+1" } }, { -20.0, 80.0, { "America/Nuuk" } }, { -10.0, -90.0, { "Pacific/Auckland" } }, { -10.0, -80.0, { "Etc/UTC" } }, { -10.0, -70.0, { "Etc/UTC" } }, { -10.0, -60.0, { "Etc/GMT+1" } }, { -10.0, -50.0, { "Etc/GMT+1" } }, { -10.0, -40.0, { "Etc/GMT+1" } }, { -10.0, -30.0, { "Etc/GMT+1" } }, { -10.0, -20.0, { "Etc/GMT+1" } }, { -10.0, -10.0, { "Etc/GMT+1" } }, { -10.0, 0.0, { "Etc/GMT+1" } }, { -10.0, 10.0, { "Africa/Abidjan" } }, { -10.0, 20.0, { "Africa/Abidjan" } }, { -10.0, 30.0, { "Etc/GMT+1" } }, { -10.0, 40.0, { "Etc/GMT+1" } }, { -10.0, 50.0, { "Etc/GMT+1" } }, { -10.0, 60.0, { "Etc/GMT+1" } }, { -10.0, 70.0, { "Etc/GMT+1" } }, { -10.0, 80.0, { "Etc/GMT+1" } }, { 0.0, -90.0, { "Pacific/Auckland" } }, { 0.0, -80.0, { "Africa/Johannesburg" } }, { 0.0, -70.0, { "Africa/Johannesburg" } }, { 0.0, -60.0, { "Etc/GMT" } }, { 0.0, -50.0, { "Etc/GMT" } }, { 0.0, -40.0, { "Etc/GMT" } }, { 0.0, -30.0, { "Etc/GMT" } }, { 0.0, -20.0, { "Etc/GMT" } }, { 0.0, -10.0, { "Etc/GMT" } }, { 0.0, 0.0, { "Etc/GMT" } }, { 0.0, 10.0, { "Africa/Abidjan" } }, { 0.0, 20.0, { "Africa/Abidjan" } }, { 0.0, 30.0, { "Africa/Algiers" } }, { 0.0, 40.0, { "Europe/Madrid" } }, { 0.0, 50.0, { "Etc/GMT" } }, { 0.0, 60.0, { "Etc/GMT" } }, { 0.0, 70.0, { "Etc/GMT" } }, { 0.0, 80.0, { "Etc/GMT" } }, { 10.0, -90.0, { "Pacific/Auckland" } }, { 10.0, -80.0, { "Antarctica/Troll" } }, { 10.0, -70.0, { "Antarctica/Troll" } }, { 10.0, -60.0, { "Etc/GMT-1" } }, { 10.0, -50.0, { "Etc/GMT-1" } }, { 10.0, -40.0, { "Etc/GMT-1" } }, { 10.0, -30.0, { "Etc/GMT-1" } }, { 10.0, -20.0, { "Etc/GMT-1" } }, { 10.0, -10.0, { "Etc/GMT-1" } }, { 10.0, 0.0, { "Africa/Lagos" } }, { 10.0, 10.0, { "Africa/Lagos" } }, { 10.0, 20.0, { "Africa/Lagos" } }, { 10.0, 30.0, { "Africa/Tripoli" } }, { 10.0, 40.0, { "Etc/GMT-1" } }, { 10.0, 50.0, { "Europe/Berlin" } }, { 10.0, 60.0, { "Europe/Berlin" } }, { 10.0, 70.0, { "Etc/GMT-1" } }, { 10.0, 80.0, { "Etc/GMT-1" } }, { 20.0, -90.0, { "Pacific/Auckland" } }, { 20.0, -80.0, { "Antarctica/Troll" } }, { 20.0, -70.0, { "Antarctica/Troll" } }, { 20.0, -60.0, { "Etc/GMT-1" } }, { 20.0, -50.0, { "Etc/GMT-1" } }, { 20.0, -40.0, { "Etc/GMT-1" } }, { 20.0, -30.0, { "Africa/Johannesburg" } }, { 20.0, -20.0, { "Africa/Windhoek" } }, { 20.0, -10.0, { "Africa/Lagos" } }, { 20.0, 0.0, { "Africa/Lagos" } }, { 20.0, 10.0, { "Africa/Ndjamena" } }, { 20.0, 20.0, { "Africa/Ndjamena" } }, { 20.0, 30.0, { "Africa/Tripoli" } }, { 20.0, 40.0, { "Europe/Tirane" } }, { 20.0, 50.0, { "Europe/Warsaw" } }, { 20.0, 60.0, { "Europe/Helsinki" } }, { 20.0, 70.0, { "Europe/Berlin" } }, { 20.0, 80.0, { "Europe/Berlin" } }, { 30.0, -90.0, { "Pacific/Auckland" } }, { 30.0, -80.0, { "Asia/Riyadh" } }, { 30.0, -70.0, { "Asia/Riyadh" } }, { 30.0, -60.0, { "Etc/GMT-2" } }, { 30.0, -50.0, { "Etc/GMT-2" } }, { 30.0, -40.0, { "Etc/GMT-2" } }, { 30.0, -30.0, { "Africa/Johannesburg" } }, { 30.0, -20.0, { "Africa/Johannesburg" } }, { 30.0, -10.0, { "Africa/Johannesburg" } }, { 30.0, 0.0, { "Asia/Riyadh" } }, { 30.0, 10.0, { "Africa/Juba" } }, { 30.0, 20.0, { "Africa/Khartoum" } }, { 30.0, 30.0, { "Africa/Cairo" } }, { 30.0, 40.0, { "Europe/Istanbul" } }, { 30.0, 50.0, { "Europe/Kiev" } }, { 30.0, 60.0, { "Europe/Moscow" } }, { 30.0, 70.0, { "Europe/Berlin" } }, { 30.0, 80.0, { "Etc/GMT-2" } }, { 40.0, -90.0, { "Pacific/Auckland" } }, { 40.0, -80.0, { "Asia/Riyadh" } }, { 40.0, -70.0, { "Asia/Riyadh" } }, { 40.0, -60.0, { "Etc/GMT-3" } }, { 40.0, -50.0, { "Etc/GMT-3" } }, { 40.0, -40.0, { "Etc/GMT-3" } }, { 40.0, -30.0, { "Etc/GMT-3" } }, { 40.0, -20.0, { "Etc/GMT-3" } }, { 40.0, -10.0, { "Asia/Riyadh" } }, { 40.0, 0.0, { "Asia/Riyadh" } }, { 40.0, 10.0, { "Asia/Riyadh" } }, { 40.0, 20.0, { "Asia/Riyadh" } }, { 40.0, 30.0, { "Asia/Riyadh" } }, { 40.0, 40.0, { "Europe/Istanbul" } }, { 40.0, 50.0, { "Europe/Moscow" } }, { 40.0, 60.0, { "Europe/Moscow" } }, { 40.0, 70.0, { "Etc/GMT-3" } }, { 40.0, 80.0, { "Etc/GMT-3" } }, { 50.0, -90.0, { "Pacific/Auckland" } }, { 50.0, -80.0, { "Asia/Riyadh" } }, { 50.0, -70.0, { "Asia/Riyadh" } }, { 50.0, -60.0, { "Etc/GMT-3" } }, { 50.0, -50.0, { "Etc/GMT-3" } }, { 50.0, -40.0, { "Etc/GMT-3" } }, { 50.0, -30.0, { "Etc/GMT-3" } }, { 50.0, -20.0, { "Etc/GMT-3" } }, { 50.0, -10.0, { "Etc/GMT-3" } }, { 50.0, 0.0, { "Etc/GMT-3" } }, { 50.0, 10.0, { "Asia/Riyadh" } }, { 50.0, 20.0, { "Asia/Riyadh" } }, { 50.0, 30.0, { "Asia/Tehran" } }, { 50.0, 40.0, { "Etc/GMT-3" } }, { 50.0, 50.0, { "Asia/Oral" } }, { 50.0, 60.0, { "Europe/Moscow" } }, { 50.0, 70.0, { "Etc/GMT-3" } }, { 50.0, 80.0, { "Europe/Moscow" } }, { 60.0, -90.0, { "Pacific/Auckland" } }, { 60.0, -80.0, { "Antarctica/Mawson" } }, { 60.0, -70.0, { "Antarctica/Mawson" } }, { 60.0, -60.0, { "Etc/GMT-4" } }, { 60.0, -50.0, { "Etc/GMT-4" } }, { 60.0, -40.0, { "Etc/GMT-4" } }, { 60.0, -30.0, { "Etc/GMT-4" } }, { 60.0, -20.0, { "Etc/GMT-4" } }, { 60.0, -10.0, { "Etc/GMT-4" } }, { 60.0, 0.0, { "Etc/GMT-4" } }, { 60.0, 10.0, { "Etc/GMT-4" } }, { 60.0, 20.0, { "Etc/GMT-4" } }, { 60.0, 30.0, { "Asia/Tehran" } }, { 60.0, 40.0, { "Asia/Ashgabat" } }, { 60.0, 50.0, { "Asia/Aqtobe" } }, { 60.0, 60.0, { "Asia/Yekaterinburg" } }, { 60.0, 70.0, { "Europe/Moscow" } }, { 60.0, 80.0, { "Europe/Moscow" } }, { 70.0, -90.0, { "Pacific/Auckland" } }, { 70.0, -80.0, { "Antarctica/Mawson" } }, { 70.0, -70.0, { "Antarctica/Mawson" } }, { 70.0, -60.0, { "Etc/GMT-5" } }, { 70.0, -50.0, { "Etc/GMT-5" } }, { 70.0, -40.0, { "Etc/GMT-5" } }, { 70.0, -30.0, { "Etc/GMT-5" } }, { 70.0, -20.0, { "Etc/GMT-5" } }, { 70.0, -10.0, { "Etc/GMT-5" } }, { 70.0, 0.0, { "Etc/GMT-5" } }, { 70.0, 10.0, { "Etc/GMT-5" } }, { 70.0, 20.0, { "Etc/GMT-5" } }, { 70.0, 30.0, { "Asia/Karachi" } }, { 70.0, 40.0, { "Asia/Bishkek" } }, { 70.0, 50.0, { "Asia/Almaty" } }, { 70.0, 60.0, { "Asia/Yekaterinburg" } }, { 70.0, 70.0, { "Asia/Yekaterinburg" } }, { 70.0, 80.0, { "Etc/GMT-5" } }, { 80.0, -90.0, { "Pacific/Auckland" } }, { 80.0, -80.0, { "Antarctica/Davis" } }, { 80.0, -70.0, { "Antarctica/Davis" } }, { 80.0, -60.0, { "Etc/GMT-5" } }, { 80.0, -50.0, { "Etc/GMT-5" } }, { 80.0, -40.0, { "Etc/GMT-5" } }, { 80.0, -30.0, { "Etc/GMT-5" } }, { 80.0, -20.0, { "Etc/GMT-5" } }, { 80.0, -10.0, { "Etc/GMT-5" } }, { 80.0, 0.0, { "Etc/GMT-5" } }, { 80.0, 10.0, { "Asia/Colombo" } }, { 80.0, 20.0, { "Asia/Kolkata" } }, { 80.0, 30.0, { "Asia/Kolkata" } }, { 80.0, 40.0, { "Asia/Shanghai", "Asia/Urumqi" } }, { 80.0, 50.0, { "Asia/Almaty" } }, { 80.0, 60.0, { "Asia/Tomsk" } }, { 80.0, 70.0, { "Asia/Krasnoyarsk" } }, { 80.0, 80.0, { "Etc/GMT-5" } }, { 90.0, -90.0, { "Pacific/Auckland" } }, { 90.0, -80.0, { "Antarctica/Vostok" } }, { 90.0, -70.0, { "Antarctica/Vostok" } }, { 90.0, -60.0, { "Etc/GMT-6" } }, { 90.0, -50.0, { "Etc/GMT-6" } }, { 90.0, -40.0, { "Etc/GMT-6" } }, { 90.0, -30.0, { "Etc/GMT-6" } }, { 90.0, -20.0, { "Etc/GMT-6" } }, { 90.0, -10.0, { "Etc/GMT-6" } }, { 90.0, 0.0, { "Etc/GMT-6" } }, { 90.0, 10.0, { "Etc/GMT-6" } }, { 90.0, 20.0, { "Etc/GMT-6" } }, { 90.0, 30.0, { "Asia/Shanghai" } }, { 90.0, 40.0, { "Asia/Shanghai", "Asia/Urumqi" } }, { 90.0, 50.0, { "Asia/Krasnoyarsk" } }, { 90.0, 60.0, { "Asia/Krasnoyarsk" } }, { 90.0, 70.0, { "Asia/Krasnoyarsk" } }, { 90.0, 80.0, { "Asia/Krasnoyarsk" } }, { 100.0, -90.0, { "Pacific/Auckland" } }, { 100.0, -80.0, { "Antarctica/Vostok" } }, { 100.0, -70.0, { "Antarctica/Vostok", "Antarctica/Casey" } }, { 100.0, -60.0, { "Etc/GMT-7" } }, { 100.0, -50.0, { "Etc/GMT-7" } }, { 100.0, -40.0, { "Etc/GMT-7" } }, { 100.0, -30.0, { "Etc/GMT-7" } }, { 100.0, -20.0, { "Etc/GMT-7" } }, { 100.0, -10.0, { "Etc/GMT-7" } }, { 100.0, 0.0, { "Asia/Jakarta" } }, { 100.0, 10.0, { "Asia/Jakarta" } }, { 100.0, 20.0, { "Asia/Jakarta" } }, { 100.0, 30.0, { "Asia/Shanghai" } }, { 100.0, 40.0, { "Asia/Shanghai" } }, { 100.0, 50.0, { "Asia/Ulaanbaatar" } }, { 100.0, 60.0, { "Asia/Krasnoyarsk" } }, { 100.0, 70.0, { "Asia/Krasnoyarsk" } }, { 100.0, 80.0, { "Asia/Krasnoyarsk" } }, { 110.0, -90.0, { "Pacific/Auckland" } }, { 110.0, -80.0, { "Antarctica/Vostok" } }, { 110.0, -70.0, { "Antarctica/Vostok", "Antarctica/Casey" } }, { 110.0, -60.0, { "Etc/GMT-7" } }, { 110.0, -50.0, { "Etc/GMT-7" } }, { 110.0, -40.0, { "Etc/GMT-7" } }, { 110.0, -30.0, { "Etc/GMT-7" } }, { 110.0, -20.0, { "Etc/GMT-7" } }, { 110.0, -10.0, { "Etc/GMT-7" } }, { 110.0, 0.0, { "Asia/Pontianak" } }, { 110.0, 10.0, { "Etc/GMT-7" } }, { 110.0, 20.0, { "Asia/Shanghai" } }, { 110.0, 30.0, { "Asia/Shanghai" } }, { 110.0, 40.0, { "Asia/Shanghai" } }, { 110.0, 50.0, { "Asia/Chita" } }, { 110.0, 60.0, { "Asia/Yakutsk" } }, { 110.0, 70.0, { "Asia/Yakutsk" } }, { 110.0, 80.0, { "Etc/GMT-7" } }, { 120.0, -90.0, { "Pacific/Auckland" } }, { 120.0, -80.0, { "Australia/Perth" } }, { 120.0, -70.0, { "Australia/Perth", "Pacific/Port_Moresby", "Antarctica/Casey" } }, { 120.0, -60.0, { "Etc/GMT-8" } }, { 120.0, -50.0, { "Etc/GMT-8" } }, { 120.0, -40.0, { "Etc/GMT-8" } }, { 120.0, -30.0, { "Australia/Perth" } }, { 120.0, -20.0, { "Australia/Perth" } }, { 120.0, -10.0, { "Asia/Makassar" } }, { 120.0, 0.0, { "Asia/Makassar" } }, { 120.0, 10.0, { "Asia/Manila" } }, { 120.0, 20.0, { "Etc/GMT-8" } }, { 120.0, 30.0, { "Asia/Shanghai" } }, { 120.0, 40.0, { "Asia/Shanghai" } }, { 120.0, 50.0, { "Asia/Shanghai" } }, { 120.0, 60.0, { "Asia/Yakutsk" } }, { 120.0, 70.0, { "Asia/Yakutsk" } }, { 120.0, 80.0, { "Etc/GMT-8" } }, { 130.0, -90.0, { "Pacific/Auckland" } }, { 130.0, -80.0, { "Australia/Perth" } }, { 130.0, -70.0, { "Australia/Perth", "Pacific/Port_Moresby" } }, { 130.0, -60.0, { "Etc/GMT-9" } }, { 130.0, -50.0, { "Etc/GMT-9" } }, { 130.0, -40.0, { "Etc/GMT-9" } }, { 130.0, -30.0, { "Australia/Adelaide" } }, { 130.0, -20.0, { "Australia/Darwin" } }, { 130.0, -10.0, { "Etc/GMT-9" } }, { 130.0, 0.0, { "Asia/Tokyo" } }, { 130.0, 10.0, { "Etc/GMT-9" } }, { 130.0, 20.0, { "Etc/GMT-9" } }, { 130.0, 30.0, { "Asia/Tokyo" } }, { 130.0, 40.0, { "Etc/GMT-9" } }, { 130.0, 50.0, { "Asia/Yakutsk" } }, { 130.0, 60.0, { "Asia/Yakutsk" } }, { 130.0, 70.0, { "Asia/Yakutsk" } }, { 130.0, 80.0, { "Etc/GMT-9" } }, { 140.0, -90.0, { "Pacific/Auckland" } }, { 140.0, -80.0, { "Australia/Perth" } }, { 140.0, -70.0, { "Australia/Perth", "Pacific/Port_Moresby" } }, { 140.0, -60.0, { "Etc/GMT-9" } }, { 140.0, -50.0, { "Etc/GMT-9" } }, { 140.0, -40.0, { "Etc/GMT-9" } }, { 140.0, -30.0, { "Australia/Adelaide" } }, { 140.0, -20.0, { "Australia/Brisbane" } }, { 140.0, -10.0, { "Etc/GMT-9" } }, { 140.0, 0.0, { "Etc/GMT-9" } }, { 140.0, 10.0, { "Pacific/Port_Moresby" } }, { 140.0, 20.0, { "Etc/GMT-9" } }, { 140.0, 30.0, { "Etc/GMT-9" } }, { 140.0, 40.0, { "Asia/Tokyo" } }, { 140.0, 50.0, { "Asia/Vladivostok" } }, { 140.0, 60.0, { "Asia/Vladivostok" } }, { 140.0, 70.0, { "Asia/Vladivostok" } }, { 140.0, 80.0, { "Etc/GMT-9" } }, { 150.0, -90.0, { "Pacific/Auckland" } }, { 150.0, -80.0, { "Australia/Perth" } }, { 150.0, -70.0, { "Australia/Perth", "Pacific/Port_Moresby" } }, { 150.0, -60.0, { "Etc/GMT-10" } }, { 150.0, -50.0, { "Etc/GMT-10" } }, { 150.0, -40.0, { "Etc/GMT-10" } }, { 150.0, -30.0, { "Australia/Sydney" } }, { 150.0, -20.0, { "Etc/GMT-10" } }, { 150.0, -10.0, { "Pacific/Port_Moresby" } }, { 150.0, 0.0, { "Etc/GMT-10" } }, { 150.0, 10.0, { "Etc/GMT-10" } }, { 150.0, 20.0, { "Etc/GMT-10" } }, { 150.0, 30.0, { "Etc/GMT-10" } }, { 150.0, 40.0, { "Etc/GMT-10" } }, { 150.0, 50.0, { "Etc/GMT-10" } }, { 150.0, 60.0, { "Asia/Magadan" } }, { 150.0, 70.0, { "Asia/Srednekolymsk" } }, { 150.0, 80.0, { "Etc/GMT-10" } }, { 160.0, -90.0, { "Pacific/Auckland" } }, { 160.0, -80.0, { "Australia/Perth", "Pacific/Auckland" } }, { 160.0, -70.0, { "Australia/Perth", "Pacific/Auckland", "Pacific/Port_Moresby" } }, { 160.0, -60.0, { "Etc/GMT-11" } }, { 160.0, -50.0, { "Etc/GMT-11" } }, { 160.0, -40.0, { "Etc/GMT-11" } }, { 160.0, -30.0, { "Etc/GMT-11" } }, { 160.0, -20.0, { "Etc/GMT-11" } }, { 160.0, -10.0, { "Pacific/Guadalcanal" } }, { 160.0, 0.0, { "Etc/GMT-11" } }, { 160.0, 10.0, { "Etc/GMT-11" } }, { 160.0, 20.0, { "Etc/GMT-11" } }, { 160.0, 30.0, { "Etc/GMT-11" } }, { 160.0, 40.0, { "Etc/GMT-11" } }, { 160.0, 50.0, { "Etc/GMT-11" } }, { 160.0, 60.0, { "Etc/GMT-11" } }, { 160.0, 70.0, { "Asia/Srednekolymsk" } }, { 160.0, 80.0, { "Etc/GMT-11" } }, { 170.0, -90.0, { "Pacific/Auckland" } }, { 170.0, -80.0, { "Pacific/Auckland" } }, { 170.0, -70.0, { "Pacific/Auckland" } }, { 170.0, -60.0, { "Etc/GMT-11" } }, { 170.0, -50.0, { "Etc/GMT-11" } }, { 170.0, -40.0, { "Etc/GMT-11" } }, { 170.0, -30.0, { "Etc/GMT-11" } }, { 170.0, -20.0, { "Pacific/Efate" } }, { 170.0, -10.0, { "Etc/GMT-11" } }, { 170.0, 0.0, { "Etc/GMT-11" } }, { 170.0, 10.0, { "Pacific/Tarawa" } }, { 170.0, 20.0, { "Etc/GMT-11" } }, { 170.0, 30.0, { "Etc/GMT-11" } }, { 170.0, 40.0, { "Etc/GMT-11" } }, { 170.0, 50.0, { "Etc/GMT-11" } }, { 170.0, 60.0, { "Asia/Kamchatka" } }, { 170.0, 70.0, { "Asia/Anadyr" } }, { 170.0, 80.0, { "Etc/GMT-11" } }, }; void TimeZoneLocationTest::SetUpTestCase(void) { } void TimeZoneLocationTest::TearDownTestCase(void) { } void TimeZoneLocationTest::SetUp(void) {} void TimeZoneLocationTest::TearDown(void) {} /** * @tc.name: TimeZoneLocationTest0001 * @tc.desc: Test GetTimezoneIdByLocation * @tc.type: FUNC */ HWTEST_F(TimeZoneLocationTest, TimeZoneLocationTest0001, TestSize.Level1) { for (auto iter = timeZoneTestcases.begin(); iter != timeZoneTestcases.end(); ++iter) { double longitude = std::get<0>(*iter); double latitude = std::get<1>(*iter); std::vector expects = std::get<2>(*iter); vector tz = I18nTimeZone::GetTimezoneIdByLocation(longitude, latitude); EXPECT_EQ(tz.size(), expects.size()); for (unsigned int i = 0; i < tz.size(); i++) { EXPECT_EQ(tz[i], expects[i]); } } } /** * @tc.name: TimeZoneLocationTest0002 * @tc.desc: Test GetTimezoneIdByLocation * @tc.type: FUNC */ HWTEST_F(TimeZoneLocationTest, TimeZoneLocationTest0002, TestSize.Level1) { // 北京 vector beijing = I18nTimeZone::GetTimezoneIdByLocation(116.3, 39.5); EXPECT_TRUE(beijing.size() == 1 && beijing[0] == "Asia/Shanghai"); // 洛杉矶 vector losAngeles = I18nTimeZone::GetTimezoneIdByLocation(-118.1, 34.0); EXPECT_TRUE(losAngeles.size() == 1 && losAngeles[0] == "America/Los_Angeles"); // 里约热内卢 vector rio = I18nTimeZone::GetTimezoneIdByLocation(-43.1, -22.5); EXPECT_TRUE(rio.size() == 1 && rio[0] == "America/Sao_Paulo"); // 悉尼 vector sydney = I18nTimeZone::GetTimezoneIdByLocation(150.5, -33.55); EXPECT_TRUE(sydney.size() == 1 && sydney[0] == "Australia/Sydney"); // 乌鲁木齐 vector urumqi = I18nTimeZone::GetTimezoneIdByLocation(87.7, 43.8); EXPECT_TRUE(urumqi.size() == 2); bool containsShanghai = false; bool containsUrumqi = false; for (unsigned int i = 0; i < urumqi.size(); i++) { if (urumqi[i] == "Asia/Shanghai") { containsShanghai = true; } if (urumqi[i] == "Asia/Urumqi") { containsUrumqi = true; } } EXPECT_TRUE(containsShanghai); EXPECT_TRUE(containsUrumqi); // 科伊艾克 vector coyhaique = I18nTimeZone::GetTimezoneIdByLocation(-72.04, -45.34); EXPECT_TRUE(coyhaique.size() == 1 && coyhaique[0] == "America/Coyhaique"); } } // namespace I18n } // namespace Global } // namespace OHOS