Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Side by Side Diff: source/test/intltest/tztest.cpp

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/test/intltest/tztest.h ('k') | source/test/intltest/ucaconf.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /*********************************************************************** 1 /***********************************************************************
2 * COPYRIGHT: 2 * COPYRIGHT:
3 * Copyright (c) 1997-2013, International Business Machines Corporation 3 * Copyright (c) 1997-2014, International Business Machines Corporation
4 * and others. All Rights Reserved. 4 * and others. All Rights Reserved.
5 ***********************************************************************/ 5 ***********************************************************************/
6 6
7 #include "unicode/utypes.h" 7 #include "unicode/utypes.h"
8 8
9 #if !UCONFIG_NO_FORMATTING 9 #if !UCONFIG_NO_FORMATTING
10 10
11 #include "unicode/timezone.h" 11 #include "unicode/timezone.h"
12 #include "unicode/simpletz.h" 12 #include "unicode/simpletz.h"
13 #include "unicode/calendar.h" 13 #include "unicode/calendar.h"
14 #include "unicode/gregocal.h" 14 #include "unicode/gregocal.h"
15 #include "unicode/resbund.h" 15 #include "unicode/resbund.h"
16 #include "unicode/strenum.h" 16 #include "unicode/strenum.h"
17 #include "unicode/uversion.h" 17 #include "unicode/uversion.h"
18 #include "tztest.h" 18 #include "tztest.h"
19 #include "cmemory.h" 19 #include "cmemory.h"
20 #include "putilimp.h" 20 #include "putilimp.h"
21 #include "cstring.h" 21 #include "cstring.h"
22 #include "olsontz.h" 22 #include "olsontz.h"
23 23
24 #define LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
25
26 #define CASE(id,test) case id: \ 24 #define CASE(id,test) case id: \
27 name = #test; \ 25 name = #test; \
28 if (exec) { \ 26 if (exec) { \
29 logln(#test "---"); logln(""); \ 27 logln(#test "---"); logln(""); \
30 test(); \ 28 test(); \
31 } \ 29 } \
32 break 30 break
33 31
34 // ***************************************************************************** 32 // *****************************************************************************
35 // class TimeZoneTest 33 // class TimeZoneTest
(...skipping 23 matching lines...) Expand all
59 TESTCASE_AUTO(TestCustomParse); 57 TESTCASE_AUTO(TestCustomParse);
60 TESTCASE_AUTO(TestDisplayName); 58 TESTCASE_AUTO(TestDisplayName);
61 TESTCASE_AUTO(TestDSTSavings); 59 TESTCASE_AUTO(TestDSTSavings);
62 TESTCASE_AUTO(TestAlternateRules); 60 TESTCASE_AUTO(TestAlternateRules);
63 TESTCASE_AUTO(TestCountries); 61 TESTCASE_AUTO(TestCountries);
64 TESTCASE_AUTO(TestHistorical); 62 TESTCASE_AUTO(TestHistorical);
65 TESTCASE_AUTO(TestEquivalentIDs); 63 TESTCASE_AUTO(TestEquivalentIDs);
66 TESTCASE_AUTO(TestAliasedNames); 64 TESTCASE_AUTO(TestAliasedNames);
67 TESTCASE_AUTO(TestFractionalDST); 65 TESTCASE_AUTO(TestFractionalDST);
68 TESTCASE_AUTO(TestFebruary); 66 TESTCASE_AUTO(TestFebruary);
67 TESTCASE_AUTO(TestCanonicalIDAPI);
69 TESTCASE_AUTO(TestCanonicalID); 68 TESTCASE_AUTO(TestCanonicalID);
70 TESTCASE_AUTO(TestDisplayNamesMeta); 69 TESTCASE_AUTO(TestDisplayNamesMeta);
71 TESTCASE_AUTO(TestGetRegion); 70 TESTCASE_AUTO(TestGetRegion);
72 TESTCASE_AUTO(TestGetAvailableIDsNew); 71 TESTCASE_AUTO(TestGetAvailableIDsNew);
73 TESTCASE_AUTO(TestGetUnknown); 72 TESTCASE_AUTO(TestGetUnknown);
74 TESTCASE_AUTO(TestGetWindowsID); 73 TESTCASE_AUTO(TestGetWindowsID);
75 TESTCASE_AUTO(TestGetIDForWindowsID); 74 TESTCASE_AUTO(TestGetIDForWindowsID);
76 TESTCASE_AUTO_END; 75 TESTCASE_AUTO_END;
77 } 76 }
78 77
(...skipping 24 matching lines...) Expand all
103 zoneclone->setRawOffset(45678); 102 zoneclone->setRawOffset(45678);
104 if (!(*zoneclone != *zone)) errln("FAIL: clone or operator!= failed"); 103 if (!(*zoneclone != *zone)) errln("FAIL: clone or operator!= failed");
105 104
106 SimpleTimeZone copy(*zone); 105 SimpleTimeZone copy(*zone);
107 if (!(copy == *zone)) errln("FAIL: copy constructor or operator== failed"); 106 if (!(copy == *zone)) errln("FAIL: copy constructor or operator== failed");
108 copy = *(SimpleTimeZone*)zoneclone; 107 copy = *(SimpleTimeZone*)zoneclone;
109 if (!(copy == *zoneclone)) errln("FAIL: assignment operator or operator== fa iled"); 108 if (!(copy == *zoneclone)) errln("FAIL: assignment operator or operator== fa iled");
110 109
111 TimeZone* saveDefault = TimeZone::createDefault(); 110 TimeZone* saveDefault = TimeZone::createDefault();
112 logln((UnicodeString)"TimeZone::createDefault() => " + saveDefault->getID(id )); 111 logln((UnicodeString)"TimeZone::createDefault() => " + saveDefault->getID(id ));
113 TimeZone* pstZone = TimeZone::createTimeZone("America/Los_Angeles"); 112
113 TimeZone::adoptDefault(zone);
114 TimeZone* defaultzone = TimeZone::createDefault();
115 if (defaultzone == zone ||
116 !(*defaultzone == *zone))
117 errln("FAIL: createDefault failed");
118 TimeZone::adoptDefault(saveDefault);
119 delete defaultzone;
120 delete zoneclone;
114 121
115 logln("call uprv_timezone() which uses the host"); 122 logln("call uprv_timezone() which uses the host");
116 logln("to get the difference in seconds between coordinated universal"); 123 logln("to get the difference in seconds between coordinated universal");
117 logln("time and local time. E.g., -28,800 for PST (GMT-8hrs)"); 124 logln("time and local time. E.g., -28,800 for PST (GMT-8hrs)");
118 125
119 int32_t tzoffset = uprv_timezone(); 126 int32_t tzoffset = uprv_timezone();
120 logln(UnicodeString("Value returned from uprv_timezone = ") + tzoffset);
121 // Invert sign because UNIX semantics are backwards
122 if (tzoffset < 0)
123 tzoffset = -tzoffset;
124 if ((*saveDefault == *pstZone) && (tzoffset != 28800)) {
125 errln("FAIL: t_timezone may be incorrect. It is not 28800");
126 }
127
128 if ((tzoffset % 900) != 0) { 127 if ((tzoffset % 900) != 0) {
129 /* 128 /*
130 * Ticket#6364 and #7648 129 * Ticket#6364 and #7648
131 * A few time zones are using GMT offests not a multiple of 15 minutes. 130 * A few time zones are using GMT offests not a multiple of 15 minutes.
132 * Therefore, we should not interpret such case as an error. 131 * Therefore, we should not interpret such case as an error.
133 * We downgrade this from errln to infoln. When we see this message, 132 * We downgrade this from errln to infoln. When we see this message,
134 * we should examine if it is ignorable or not. 133 * we should examine if it is ignorable or not.
135 */ 134 */
136 infoln("WARNING: t_timezone may be incorrect. It is not a multiple of 15 min.", tzoffset); 135 infoln("WARNING: t_timezone may be incorrect. It is not a multiple of 15 min.", tzoffset);
137 } 136 }
138 137
139 TimeZone::adoptDefault(zone);
140 TimeZone* defaultzone = TimeZone::createDefault();
141 if (defaultzone == zone ||
142 !(*defaultzone == *zone))
143 errln("FAIL: createDefault failed");
144 TimeZone::adoptDefault(saveDefault);
145 delete defaultzone;
146 delete zoneclone;
147 delete pstZone;
148
149 UErrorCode status = U_ZERO_ERROR; 138 UErrorCode status = U_ZERO_ERROR;
150 const char* tzver = TimeZone::getTZDataVersion(status); 139 const char* tzver = TimeZone::getTZDataVersion(status);
151 if (U_FAILURE(status)) { 140 if (U_FAILURE(status)) {
152 errcheckln(status, "FAIL: getTZDataVersion failed - %s", u_errorName(sta tus)); 141 errcheckln(status, "FAIL: getTZDataVersion failed - %s", u_errorName(sta tus));
153 } else if (uprv_strlen(tzver) != 5 /* 4 digits + 1 letter */) { 142 } else if (uprv_strlen(tzver) != 5 /* 4 digits + 1 letter */) {
154 errln((UnicodeString)"FAIL: getTZDataVersion returned " + tzver); 143 errln((UnicodeString)"FAIL: getTZDataVersion returned " + tzver);
155 } else { 144 } else {
156 logln((UnicodeString)"tzdata version: " + tzver); 145 logln((UnicodeString)"tzdata version: " + tzver);
157 } 146 }
158 } 147 }
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 {"IET", -300, TRUE}, // ICU Link - America/Indiana/Indianapolis 846 {"IET", -300, TRUE}, // ICU Link - America/Indiana/Indianapolis
858 {"EST", -300, FALSE}, // Olson northamerica -5:00 847 {"EST", -300, FALSE}, // Olson northamerica -5:00
859 {"PRT", -240, FALSE}, // ICU Link - America/Puerto_Rico 848 {"PRT", -240, FALSE}, // ICU Link - America/Puerto_Rico
860 {"CNT", -210, TRUE}, // ICU Link - America/St_Johns 849 {"CNT", -210, TRUE}, // ICU Link - America/St_Johns
861 {"AGT", -180, FALSE}, // ICU Link - America/Argentina/Buenos_Aires 850 {"AGT", -180, FALSE}, // ICU Link - America/Argentina/Buenos_Aires
862 {"BET", -180, TRUE}, // ICU Link - America/Sao_Paulo 851 {"BET", -180, TRUE}, // ICU Link - America/Sao_Paulo
863 {"GMT", 0, FALSE}, // Olson etcetera Link - Etc/GMT 852 {"GMT", 0, FALSE}, // Olson etcetera Link - Etc/GMT
864 {"UTC", 0, FALSE}, // Olson etcetera 0 853 {"UTC", 0, FALSE}, // Olson etcetera 0
865 {"ECT", 60, TRUE}, // ICU Link - Europe/Paris 854 {"ECT", 60, TRUE}, // ICU Link - Europe/Paris
866 {"MET", 60, TRUE}, // Olson europe 1:00 C-Eur 855 {"MET", 60, TRUE}, // Olson europe 1:00 C-Eur
867 {"CAT", 120, FALSE}, // ICU Link - Africa/Harare 856 {"CAT", 120, FALSE}, // ICU Link - Africa/Maputo
868 {"ART", 120, FALSE}, // ICU Link - Africa/Cairo 857 {"ART", 120, TRUE}, // ICU Link - Africa/Cairo
869 {"EET", 120, TRUE}, // Olson europe 2:00 EU 858 {"EET", 120, TRUE}, // Olson europe 2:00 EU
870 {"EAT", 180, FALSE}, // ICU Link - Africa/Addis_Ababa 859 {"EAT", 180, FALSE}, // ICU Link - Africa/Addis_Ababa
871 {"NET", 240, FALSE}, // ICU Link - Asia/Yerevan 860 {"NET", 240, FALSE}, // ICU Link - Asia/Yerevan
872 {"PLT", 300, FALSE}, // ICU Link - Asia/Karachi 861 {"PLT", 300, FALSE}, // ICU Link - Asia/Karachi
873 {"IST", 330, FALSE}, // ICU Link - Asia/Kolkata 862 {"IST", 330, FALSE}, // ICU Link - Asia/Kolkata
874 {"BST", 360, FALSE}, // ICU Link - Asia/Dhaka 863 {"BST", 360, FALSE}, // ICU Link - Asia/Dhaka
875 {"VST", 420, FALSE}, // ICU Link - Asia/Ho_Chi_Minh 864 {"VST", 420, FALSE}, // ICU Link - Asia/Ho_Chi_Minh
876 {"CTT", 480, FALSE}, // ICU Link - Asia/Shanghai 865 {"CTT", 480, FALSE}, // ICU Link - Asia/Shanghai
877 {"JST", 540, FALSE}, // ICU Link - Asia/Tokyo 866 {"JST", 540, FALSE}, // ICU Link - Asia/Tokyo
878 {"ACT", 570, FALSE}, // ICU Link - Australia/Darwin 867 {"ACT", 570, FALSE}, // ICU Link - Australia/Darwin
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 const char* compatibilityMap[] = { 945 const char* compatibilityMap[] = {
957 // This list is copied from tz.alias. If tz.alias 946 // This list is copied from tz.alias. If tz.alias
958 // changes, this list must be updated. Current as of Mar 2007 947 // changes, this list must be updated. Current as of Mar 2007
959 "ACT", "Australia/Darwin", 948 "ACT", "Australia/Darwin",
960 "AET", "Australia/Sydney", 949 "AET", "Australia/Sydney",
961 "AGT", "America/Buenos_Aires", 950 "AGT", "America/Buenos_Aires",
962 "ART", "Africa/Cairo", 951 "ART", "Africa/Cairo",
963 "AST", "America/Anchorage", 952 "AST", "America/Anchorage",
964 "BET", "America/Sao_Paulo", 953 "BET", "America/Sao_Paulo",
965 "BST", "Asia/Dhaka", // # spelling changed in 2000h; was Asia/Dacca 954 "BST", "Asia/Dhaka", // # spelling changed in 2000h; was Asia/Dacca
966 "CAT", "Africa/Harare", 955 "CAT", "Africa/Maputo",
967 "CNT", "America/St_Johns", 956 "CNT", "America/St_Johns",
968 "CST", "America/Chicago", 957 "CST", "America/Chicago",
969 "CTT", "Asia/Shanghai", 958 "CTT", "Asia/Shanghai",
970 "EAT", "Africa/Addis_Ababa", 959 "EAT", "Africa/Addis_Ababa",
971 "ECT", "Europe/Paris", 960 "ECT", "Europe/Paris",
972 // EET Europe/Istanbul # EET is a standard UNIX zone 961 // EET Europe/Istanbul # EET is a standard UNIX zone
973 // "EST", "America/New_York", # Defined as -05:00 962 // "EST", "America/New_York", # Defined as -05:00
974 // "HST", "Pacific/Honolulu", # Defined as -10:00 963 // "HST", "Pacific/Honolulu", # Defined as -10:00
975 "IET", "America/Indianapolis", 964 "IET", "America/Indianapolis",
976 "IST", "Asia/Calcutta", 965 "IST", "Asia/Calcutta",
(...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after
1909 { 2009, UCAL_NOVEMBER, 1, 03, 00, 00, -2 }, 1898 { 2009, UCAL_NOVEMBER, 1, 03, 00, 00, -2 },
1910 { 2010, UCAL_FEBRUARY, 28, 01, 59, 59, -2 }, 1899 { 2010, UCAL_FEBRUARY, 28, 01, 59, 59, -2 },
1911 { 2010, UCAL_FEBRUARY, 28, 02, 00, 00, -3 } 1900 { 2010, UCAL_FEBRUARY, 28, 02, 00, 00, -3 }
1912 }; 1901 };
1913 1902
1914 TimeZone *timezones[] = { &tz1, &tz2 }; 1903 TimeZone *timezones[] = { &tz1, &tz2 };
1915 1904
1916 TimeZone *tz; 1905 TimeZone *tz;
1917 UDate dt; 1906 UDate dt;
1918 int32_t t, i, raw, dst; 1907 int32_t t, i, raw, dst;
1919 for (t = 0; t < LENGTHOF(timezones); ++t) { 1908 for (t = 0; t < UPRV_LENGTHOF(timezones); ++t) {
1920 tz = timezones[t]; 1909 tz = timezones[t];
1921 for (i = 0; i < LENGTHOF(data); ++i) { 1910 for (i = 0; i < UPRV_LENGTHOF(data); ++i) {
1922 gc.set(data[i].year, data[i].month, data[i].day, 1911 gc.set(data[i].year, data[i].month, data[i].day,
1923 data[i].hour, data[i].minute, data[i].second); 1912 data[i].hour, data[i].minute, data[i].second);
1924 dt = gc.getTime(status); 1913 dt = gc.getTime(status);
1925 if (U_FAILURE(status)) { 1914 if (U_FAILURE(status)) {
1926 errln("test case %d.%d: bad date/time %04d-%02d-%02d %02d:%02d:% 02d", 1915 errln("test case %d.%d: bad date/time %04d-%02d-%02d %02d:%02d:% 02d",
1927 t, i, 1916 t, i,
1928 data[i].year, data[i].month + 1, data[i].day, 1917 data[i].year, data[i].month + 1, data[i].day,
1929 data[i].hour, data[i].minute, data[i].second); 1918 data[i].hour, data[i].minute, data[i].second);
1930 status = U_ZERO_ERROR; 1919 status = U_ZERO_ERROR;
1931 continue; 1920 continue;
1932 } 1921 }
1933 tz->getOffset(dt, FALSE, raw, dst, status); 1922 tz->getOffset(dt, FALSE, raw, dst, status);
1934 if (U_FAILURE(status)) { 1923 if (U_FAILURE(status)) {
1935 errln("test case %d.%d: tz.getOffset(%04d-%02d-%02d %02d:%02d:%0 2d) fails: %s", 1924 errln("test case %d.%d: tz.getOffset(%04d-%02d-%02d %02d:%02d:%0 2d) fails: %s",
1936 t, i, 1925 t, i,
1937 data[i].year, data[i].month + 1, data[i].day, 1926 data[i].year, data[i].month + 1, data[i].day,
1938 data[i].hour, data[i].minute, data[i].second, 1927 data[i].hour, data[i].minute, data[i].second,
1939 u_errorName(status)); 1928 u_errorName(status));
1940 status = U_ZERO_ERROR; 1929 status = U_ZERO_ERROR;
1941 } else if ((raw + dst) != data[i].offsetHours * U_MILLIS_PER_HOUR) { 1930 } else if ((raw + dst) != data[i].offsetHours * U_MILLIS_PER_HOUR) {
1942 errln("test case %d.%d: tz.getOffset(%04d-%02d-%02d %02d:%02d:%0 2d) returns %d+%d != %d", 1931 errln("test case %d.%d: tz.getOffset(%04d-%02d-%02d %02d:%02d:%0 2d) returns %d+%d != %d",
1943 t, i, 1932 t, i,
1944 data[i].year, data[i].month + 1, data[i].day, 1933 data[i].year, data[i].month + 1, data[i].day,
1945 data[i].hour, data[i].minute, data[i].second, 1934 data[i].hour, data[i].minute, data[i].second,
1946 raw, dst, data[i].offsetHours * U_MILLIS_PER_HOUR); 1935 raw, dst, data[i].offsetHours * U_MILLIS_PER_HOUR);
1947 } 1936 }
1948 } 1937 }
1949 } 1938 }
1950 } 1939 }
1940
1941 void TimeZoneTest::TestCanonicalIDAPI() {
1942 // Bogus input string.
1943 UnicodeString bogus;
1944 bogus.setToBogus();
1945 UnicodeString canonicalID;
1946 UErrorCode ec = U_ZERO_ERROR;
1947 UnicodeString *pResult = &TimeZone::getCanonicalID(bogus, canonicalID, ec);
1948 assertEquals("TimeZone::getCanonicalID(bogus) should fail", U_ILLEGAL_ARGUME NT_ERROR, ec);
1949 assertTrue("TimeZone::getCanonicalID(bogus) should return the dest string", pResult == &canonicalID);
1950
1951 // U_FAILURE on input.
1952 UnicodeString berlin("Europe/Berlin");
1953 ec = U_MEMORY_ALLOCATION_ERROR;
1954 pResult = &TimeZone::getCanonicalID(berlin, canonicalID, ec);
1955 assertEquals("TimeZone::getCanonicalID(failure) should fail", U_MEMORY_ALLOC ATION_ERROR, ec);
1956 assertTrue("TimeZone::getCanonicalID(failure) should return the dest string" , pResult == &canonicalID);
1957
1958 // Valid input should un-bogus the dest string.
1959 canonicalID.setToBogus();
1960 ec = U_ZERO_ERROR;
1961 pResult = &TimeZone::getCanonicalID(berlin, canonicalID, ec);
1962 assertSuccess("TimeZone::getCanonicalID(bogus dest) should succeed", ec, TRU E);
1963 assertTrue("TimeZone::getCanonicalID(bogus dest) should return the dest stri ng", pResult == &canonicalID);
1964 assertFalse("TimeZone::getCanonicalID(bogus dest) should un-bogus the dest s tring", canonicalID.isBogus());
1965 assertEquals("TimeZone::getCanonicalID(bogus dest) unexpected result", canon icalID, berlin, TRUE);
1966 }
1967
1951 void TimeZoneTest::TestCanonicalID() { 1968 void TimeZoneTest::TestCanonicalID() {
1952 1969
1953 // Some canonical IDs in CLDR are defined as "Link" 1970 // Some canonical IDs in CLDR are defined as "Link"
1954 // in Olson tzdata. 1971 // in Olson tzdata.
1955 static const struct { 1972 static const struct {
1956 const char *alias; 1973 const char *alias;
1957 const char *zone; 1974 const char *zone;
1958 } excluded1[] = { 1975 } excluded1[] = {
1976 {"Africa/Bamako", "Africa/Abidjan"},
1977 {"Africa/Bangui", "Africa/Lagos"},
1978 {"Africa/Banjul", "Africa/Abidjan"},
1979 {"Africa/Blantyre", "Africa/Maputo"},
1980 {"Africa/Brazzaville", "Africa/Lagos"},
1981 {"Africa/Bujumbura", "Africa/Maputo"},
1982 {"Africa/Conakry", "Africa/Abidjan"},
1983 {"Africa/Dakar", "Africa/Abidjan"},
1984 {"Africa/Douala", "Africa/Lagos"},
1985 {"Africa/Freetown", "Africa/Abidjan"},
1986 {"Africa/Gaborone", "Africa/Maputo"},
1987 {"Africa/Harare", "Africa/Maputo"},
1959 {"Africa/Khartoum", "Africa/Juba"}, 1988 {"Africa/Khartoum", "Africa/Juba"},
1960 {"America/Shiprock", "America/Denver"}, // America/Shiprock is defined a s a Link to America/Denver in tzdata 1989 {"Africa/Kigali", "Africa/Maputo"},
1990 {"Africa/Kinshasa", "Africa/Lagos"},
1991 {"Africa/Libreville", "Africa/Lagos"},
1992 {"Africa/Lome", "Africa/Abidjan"},
1993 {"Africa/Luanda", "Africa/Lagos"},
1994 {"Africa/Lubumbashi", "Africa/Maputo"},
1995 {"Africa/Lusaka", "Africa/Maputo"},
1996 {"Africa/Maseru", "Africa/Johannesburg"},
1997 {"Africa/Malabo", "Africa/Lagos"},
1998 {"Africa/Mbabane", "Africa/Johannesburg"},
1999 {"Africa/Niamey", "Africa/Lagos"},
2000 {"Africa/Nouakchott", "Africa/Abidjan"},
2001 {"Africa/Ouagadougou", "Africa/Abidjan"},
2002 {"Africa/Porto-Novo", "Africa/Lagos"},
2003 {"Africa/Sao_Tome", "Africa/Abidjan"},
2004 {"America/Curacao", "America/Aruba"},
1961 {"America/Dominica", "America/Anguilla"}, 2005 {"America/Dominica", "America/Anguilla"},
1962 {"America/Grenada", "America/Anguilla"}, 2006 {"America/Grenada", "America/Anguilla"},
1963 {"America/Guadeloupe", "America/Anguilla"}, 2007 {"America/Guadeloupe", "America/Anguilla"},
2008 {"America/Kralendijk", "America/Aruba"},
2009 {"America/Lower_Princes", "America/Aruba"},
1964 {"America/Marigot", "America/Anguilla"}, 2010 {"America/Marigot", "America/Anguilla"},
1965 {"America/Montserrat", "America/Anguilla"}, 2011 {"America/Montserrat", "America/Anguilla"},
1966 {"America/Port_of_Spain", "America/Anguilla"}, 2012 {"America/Port_of_Spain", "America/Anguilla"},
2013 {"America/Shiprock", "America/Denver"}, // America/Shiprock is defined a s a Link to America/Denver in tzdata
1967 {"America/St_Barthelemy", "America/Anguilla"}, 2014 {"America/St_Barthelemy", "America/Anguilla"},
1968 {"America/St_Kitts", "America/Anguilla"}, 2015 {"America/St_Kitts", "America/Anguilla"},
1969 {"America/St_Lucia", "America/Anguilla"}, 2016 {"America/St_Lucia", "America/Anguilla"},
1970 {"America/St_Thomas", "America/Anguilla"}, 2017 {"America/St_Thomas", "America/Anguilla"},
1971 {"America/St_Vincent", "America/Anguilla"}, 2018 {"America/St_Vincent", "America/Anguilla"},
1972 {"America/Tortola", "America/Anguilla"}, 2019 {"America/Tortola", "America/Anguilla"},
1973 {"America/Virgin", "America/Anguilla"}, 2020 {"America/Virgin", "America/Anguilla"},
1974 {"America/Curacao", "America/Aruba"},
1975 {"America/Kralendijk", "America/Aruba"},
1976 {"America/Lower_Princes", "America/Aruba"},
1977 {"Antarctica/South_Pole", "Antarctica/McMurdo"}, 2021 {"Antarctica/South_Pole", "Antarctica/McMurdo"},
2022 {"Arctic/Longyearbyen", "Europe/Oslo"},
1978 {"Atlantic/Jan_Mayen", "Europe/Oslo"}, 2023 {"Atlantic/Jan_Mayen", "Europe/Oslo"},
1979 {"Arctic/Longyearbyen", "Europe/Oslo"}, 2024 {"Atlantic/St_Helena", "Africa/Abidjan"},
2025 {"Europe/Bratislava", "Europe/Prague"},
1980 {"Europe/Busingen", "Europe/Zurich"}, 2026 {"Europe/Busingen", "Europe/Zurich"},
1981 {"Europe/Guernsey", "Europe/London"}, 2027 {"Europe/Guernsey", "Europe/London"},
1982 {"Europe/Isle_of_Man", "Europe/London"}, 2028 {"Europe/Isle_of_Man", "Europe/London"},
1983 {"Europe/Jersey", "Europe/London"}, 2029 {"Europe/Jersey", "Europe/London"},
1984 {"Europe/Ljubljana", "Europe/Belgrade"}, 2030 {"Europe/Ljubljana", "Europe/Belgrade"},
2031 {"Europe/Mariehamn", "Europe/Helsinki"},
1985 {"Europe/Podgorica", "Europe/Belgrade"}, 2032 {"Europe/Podgorica", "Europe/Belgrade"},
2033 {"Europe/San_Marino", "Europe/Rome"},
1986 {"Europe/Sarajevo", "Europe/Belgrade"}, 2034 {"Europe/Sarajevo", "Europe/Belgrade"},
1987 {"Europe/Skopje", "Europe/Belgrade"}, 2035 {"Europe/Skopje", "Europe/Belgrade"},
2036 {"Europe/Vaduz", "Europe/Zurich"},
2037 {"Europe/Vatican", "Europe/Rome"},
1988 {"Europe/Zagreb", "Europe/Belgrade"}, 2038 {"Europe/Zagreb", "Europe/Belgrade"},
1989 {"Europe/Bratislava", "Europe/Prague"},
1990 {"Europe/Mariehamn", "Europe/Helsinki"},
1991 {"Europe/San_Marino", "Europe/Rome"},
1992 {"Europe/Vatican", "Europe/Rome"},
1993 {"Europe/Vaduz", "Europe/Zurich"},
1994 {"Pacific/Auckland", "Antarctica/McMurdo"}, 2039 {"Pacific/Auckland", "Antarctica/McMurdo"},
1995 {"Pacific/Johnston", "Pacific/Honolulu"}, 2040 {"Pacific/Johnston", "Pacific/Honolulu"},
1996 {0, 0} 2041 {0, 0}
1997 }; 2042 };
1998 2043
1999 // Following IDs are aliases of Etc/GMT in CLDR, 2044 // Following IDs are aliases of Etc/GMT in CLDR,
2000 // but Olson tzdata has 3 independent definitions 2045 // but Olson tzdata has 3 independent definitions
2001 // for Etc/GMT, Etc/UTC, Etc/UCT. 2046 // for Etc/GMT, Etc/UTC, Etc/UCT.
2002 // Until we merge them into one equivalent group 2047 // Until we merge them into one equivalent group
2003 // in zoneinfo.res, we exclude them in the test 2048 // in zoneinfo.res, we exclude them in the test
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
2234 {"America/Los_Angeles", "US"}, 2279 {"America/Los_Angeles", "US"},
2235 {"America/Indianapolis", "US"}, // CLDR canonical, Olson bac kward 2280 {"America/Indianapolis", "US"}, // CLDR canonical, Olson bac kward
2236 {"America/Indiana/Indianapolis", "US"}, // CLDR alias 2281 {"America/Indiana/Indianapolis", "US"}, // CLDR alias
2237 {"Mexico/General", "MX"}, // Link America/Mexico_City, Olson backward 2282 {"Mexico/General", "MX"}, // Link America/Mexico_City, Olson backward
2238 {"Etc/UTC", "001"}, 2283 {"Etc/UTC", "001"},
2239 {"EST5EDT", "001"}, 2284 {"EST5EDT", "001"},
2240 {"PST", "US"}, // Link America/Los_Angeles 2285 {"PST", "US"}, // Link America/Los_Angeles
2241 {"Europe/Helsinki", "FI"}, 2286 {"Europe/Helsinki", "FI"},
2242 {"Europe/Mariehamn", "AX"}, // Link Europe/Helsinki, but in zone.tab 2287 {"Europe/Mariehamn", "AX"}, // Link Europe/Helsinki, but in zone.tab
2243 {"Asia/Riyadh", "SA"}, 2288 {"Asia/Riyadh", "SA"},
2244 {"Asia/Riyadh87", "001"}, // this should be "SA" actua lly, but not in zone.tab 2289 // tz file solar87 was removed from tzdata2013i
2290 // {"Asia/Riyadh87", "001"}, // this should be "SA" ac tually, but not in zone.tab
2245 {"Etc/Unknown", 0}, // CLDR canonical, but not a sy smte zone ID 2291 {"Etc/Unknown", 0}, // CLDR canonical, but not a sy smte zone ID
2246 {"bogus", 0}, // bogus 2292 {"bogus", 0}, // bogus
2247 {"GMT+08:00", 0}, // a custom ID, not a system zo ne ID 2293 {"GMT+08:00", 0}, // a custom ID, not a system zo ne ID
2248 {0, 0} 2294 {0, 0}
2249 }; 2295 };
2250 2296
2251 int32_t i; 2297 int32_t i;
2252 char region[4]; 2298 char region[4];
2253 UErrorCode sts; 2299 UErrorCode sts;
2254 for (i = 0; data[i].id; i++) { 2300 for (i = 0; data[i].id; i++) {
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
2371 UnicodeString id; 2417 UnicodeString id;
2372 2418
2373 TimeZone::getIDForWindowsID(UnicodeString(TESTDATA[i].winid), TESTDATA[i ].region, 2419 TimeZone::getIDForWindowsID(UnicodeString(TESTDATA[i].winid), TESTDATA[i ].region,
2374 id, sts); 2420 id, sts);
2375 assertSuccess(UnicodeString(TESTDATA[i].winid) + "/" + TESTDATA[i].regio n, sts); 2421 assertSuccess(UnicodeString(TESTDATA[i].winid) + "/" + TESTDATA[i].regio n, sts);
2376 assertEquals(UnicodeString(TESTDATA[i].winid) + "/" + TESTDATA[i].region , TESTDATA[i].id, id, TRUE); 2422 assertEquals(UnicodeString(TESTDATA[i].winid) + "/" + TESTDATA[i].region , TESTDATA[i].id, id, TRUE);
2377 } 2423 }
2378 } 2424 }
2379 2425
2380 #endif /* #if !UCONFIG_NO_FORMATTING */ 2426 #endif /* #if !UCONFIG_NO_FORMATTING */
OLDNEW
« no previous file with comments | « source/test/intltest/tztest.h ('k') | source/test/intltest/ucaconf.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698