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

Unified Diff: source/test/intltest/caltest.cpp

Issue 1621843002: ICU 56 update step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@561
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/test/intltest/calregts.cpp ('k') | source/test/intltest/canittst.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/test/intltest/caltest.cpp
diff --git a/source/test/intltest/caltest.cpp b/source/test/intltest/caltest.cpp
index 02f6b78899e1d4acf10842917859daa8fb546ed4..714207b815c3882fcb23416a4d65aef9a300e31d 100644
--- a/source/test/intltest/caltest.cpp
+++ b/source/test/intltest/caltest.cpp
@@ -1,6 +1,6 @@
/************************************************************************
* COPYRIGHT:
- * Copyright (c) 1997-2014, International Business Machines Corporation
+ * Copyright (c) 1997-2015, International Business Machines Corporation
* and others. All Rights Reserved.
************************************************************************/
#include "unicode/utypes.h"
@@ -2812,19 +2812,442 @@ void CalendarTest::setAndTestWholeYear(Calendar* cal, int32_t startYear, UErrorC
}
}
}
+
+// =====================================================================
-
+typedef struct {
+ int16_t gYear;
+ int8_t gMon;
+ int8_t gDay;
+ int16_t uYear;
+ int8_t uMon;
+ int8_t uDay;
+} GregoUmmAlQuraMap;
+
+// data from
+// Official Umm-al-Qura calendar of SA:
+// home, http://www.ummulqura.org.sa/default.aspx
+// converter, http://www.ummulqura.org.sa/Index.aspx
+static const GregoUmmAlQuraMap guMappings[] = {
+// gregorian, ummAlQura
+// year mo da, year mo da
+// (using 1-based months here)
+ { 1882,11,12, 1300, 1, 1 },
+ { 1892, 7,25, 1310, 1, 1 },
+ { 1896, 6,12, 1314, 1, 1 },
+ { 1898, 5,22, 1316, 1, 1 },
+ { 1900, 4,30, 1318, 1, 1 },
+ { 1901, 4,20, 1319, 1, 1 },
+ { 1902, 4,10, 1320, 1, 1 },
+ { 1903, 3,30, 1321, 1, 1 },
+ { 1904, 3,19, 1322, 1, 1 },
+ { 1905, 3, 8, 1323, 1, 1 },
+ { 1906, 2,25, 1324, 1, 1 },
+ { 1907, 2,14, 1325, 1, 1 },
+ { 1908, 2, 4, 1326, 1, 1 },
+ { 1909, 1,23, 1327, 1, 1 },
+ { 1910, 1,13, 1328, 1, 1 },
+ { 1911, 1, 2, 1329, 1, 1 },
+ { 1911,12,22, 1330, 1, 1 },
+ { 1912,12,10, 1331, 1, 1 },
+ { 1913,11,30, 1332, 1, 1 },
+ { 1914,11,19, 1333, 1, 1 },
+ { 1915,11, 9, 1334, 1, 1 },
+ { 1916,10,28, 1335, 1, 1 },
+ { 1917,10,18, 1336, 1, 1 },
+ { 1918,10, 7, 1337, 1, 1 },
+ { 1919, 9,26, 1338, 1, 1 },
+ { 1920, 9,14, 1339, 1, 1 },
+ { 1921, 9, 4, 1340, 1, 1 },
+ { 1922, 8,24, 1341, 1, 1 },
+ { 1923, 8,14, 1342, 1, 1 },
+ { 1924, 8, 2, 1343, 1, 1 },
+ { 1925, 7,22, 1344, 1, 1 },
+ { 1926, 7,11, 1345, 1, 1 },
+ { 1927, 6,30, 1346, 1, 1 },
+ { 1928, 6,19, 1347, 1, 1 },
+ { 1929, 6, 9, 1348, 1, 1 },
+ { 1930, 5,29, 1349, 1, 1 },
+ { 1931, 5,19, 1350, 1, 1 },
+ { 1932, 5, 7, 1351, 1, 1 },
+ { 1933, 4,26, 1352, 1, 1 },
+ { 1934, 4,15, 1353, 1, 1 },
+ { 1935, 4, 5, 1354, 1, 1 },
+ { 1936, 3,24, 1355, 1, 1 },
+ { 1937, 3,14, 1356, 1, 1 },
+ { 1938, 3, 4, 1357, 1, 1 },
+ { 1939, 2,21, 1358, 1, 1 },
+ { 1940, 2,10, 1359, 1, 1 },
+ { 1941, 1,29, 1360, 1, 1 },
+ { 1942, 1,18, 1361, 1, 1 },
+ { 1943, 1, 8, 1362, 1, 1 },
+ { 1943,12,28, 1363, 1, 1 },
+ { 1944,12,17, 1364, 1, 1 },
+ { 1945,12, 6, 1365, 1, 1 },
+ { 1946,11,25, 1366, 1, 1 },
+ { 1947,11,14, 1367, 1, 1 },
+ { 1948,11, 3, 1368, 1, 1 },
+ { 1949,10,23, 1369, 1, 1 },
+ { 1950,10,13, 1370, 1, 1 },
+ { 1951,10, 3, 1371, 1, 1 },
+ { 1952, 9,21, 1372, 1, 1 },
+ { 1953, 9,10, 1373, 1, 1 },
+ { 1954, 8,30, 1374, 1, 1 },
+ { 1955, 8,19, 1375, 1, 1 },
+ { 1956, 8, 8, 1376, 1, 1 },
+ { 1957, 7,29, 1377, 1, 1 },
+ { 1958, 7,18, 1378, 1, 1 },
+ { 1959, 7, 8, 1379, 1, 1 },
+ { 1960, 6,26, 1380, 1, 1 },
+ { 1961, 6,15, 1381, 1, 1 },
+ { 1962, 6, 4, 1382, 1, 1 },
+ { 1963, 5,24, 1383, 1, 1 },
+ { 1964, 5,13, 1384, 1, 1 },
+ { 1965, 5, 3, 1385, 1, 1 },
+ { 1966, 4,22, 1386, 1, 1 },
+ { 1967, 4,11, 1387, 1, 1 },
+ { 1968, 3,30, 1388, 1, 1 },
+ { 1969, 3,19, 1389, 1, 1 },
+ { 1970, 3, 9, 1390, 1, 1 },
+ { 1971, 2,27, 1391, 1, 1 },
+ { 1972, 2,16, 1392, 1, 1 },
+ { 1973, 2, 5, 1393, 1, 1 },
+ { 1974, 1,25, 1394, 1, 1 },
+ { 1975, 1,14, 1395, 1, 1 },
+ { 1976, 1, 3, 1396, 1, 1 },
+ { 1976,12,22, 1397, 1, 1 },
+ { 1977,12,12, 1398, 1, 1 },
+ { 1978,12, 1, 1399, 1, 1 },
+ { 1979,11,21, 1400, 1, 1 },
+ { 1980,11, 9, 1401, 1, 1 },
+ { 1981,10,29, 1402, 1, 1 },
+ { 1982,10,18, 1403, 1, 1 },
+ { 1983,10, 8, 1404, 1, 1 },
+ { 1984, 9,26, 1405, 1, 1 },
+ { 1985, 9,16, 1406, 1, 1 },
+ { 1986, 9, 6, 1407, 1, 1 },
+ { 1987, 8,26, 1408, 1, 1 },
+ { 1988, 8,14, 1409, 1, 1 },
+ { 1989, 8, 3, 1410, 1, 1 },
+ { 1990, 7,23, 1411, 1, 1 },
+ { 1991, 7,13, 1412, 1, 1 },
+ { 1992, 7, 2, 1413, 1, 1 },
+ { 1993, 6,21, 1414, 1, 1 },
+ { 1994, 6,11, 1415, 1, 1 },
+ { 1995, 5,31, 1416, 1, 1 },
+ { 1996, 5,19, 1417, 1, 1 },
+ { 1997, 5, 8, 1418, 1, 1 },
+ { 1998, 4,28, 1419, 1, 1 },
+ { 1999, 4,17, 1420, 1, 1 },
+ { 1999, 5,16, 1420, 2, 1 },
+ { 1999, 6,15, 1420, 3, 1 },
+ { 1999, 7,14, 1420, 4, 1 },
+ { 1999, 8,12, 1420, 5, 1 },
+ { 1999, 9,11, 1420, 6, 1 },
+ { 1999,10,10, 1420, 7, 1 },
+ { 1999,11, 9, 1420, 8, 1 },
+ { 1999,12, 9, 1420, 9, 1 },
+ { 2000, 1, 8, 1420,10, 1 },
+ { 2000, 2, 7, 1420,11, 1 },
+ { 2000, 3, 7, 1420,12, 1 },
+ { 2000, 4, 6, 1421, 1, 1 },
+ { 2000, 5, 5, 1421, 2, 1 },
+ { 2000, 6, 3, 1421, 3, 1 },
+ { 2000, 7, 3, 1421, 4, 1 },
+ { 2000, 8, 1, 1421, 5, 1 },
+ { 2000, 8,30, 1421, 6, 1 },
+ { 2000, 9,28, 1421, 7, 1 },
+ { 2000,10,28, 1421, 8, 1 },
+ { 2000,11,27, 1421, 9, 1 },
+ { 2000,12,27, 1421,10, 1 },
+ { 2001, 1,26, 1421,11, 1 },
+ { 2001, 2,24, 1421,12, 1 },
+ { 2001, 3,26, 1422, 1, 1 },
+ { 2001, 4,25, 1422, 2, 1 },
+ { 2001, 5,24, 1422, 3, 1 },
+ { 2001, 6,22, 1422, 4, 1 },
+ { 2001, 7,22, 1422, 5, 1 },
+ { 2001, 8,20, 1422, 6, 1 },
+ { 2001, 9,18, 1422, 7, 1 },
+ { 2001,10,17, 1422, 8, 1 },
+ { 2001,11,16, 1422, 9, 1 },
+ { 2001,12,16, 1422,10, 1 },
+ { 2002, 1,15, 1422,11, 1 },
+ { 2002, 2,13, 1422,12, 1 },
+ { 2002, 3,15, 1423, 1, 1 },
+ { 2002, 4,14, 1423, 2, 1 },
+ { 2002, 5,13, 1423, 3, 1 },
+ { 2002, 6,12, 1423, 4, 1 },
+ { 2002, 7,11, 1423, 5, 1 },
+ { 2002, 8,10, 1423, 6, 1 },
+ { 2002, 9, 8, 1423, 7, 1 },
+ { 2002,10, 7, 1423, 8, 1 },
+ { 2002,11, 6, 1423, 9, 1 },
+ { 2002,12, 5, 1423,10, 1 },
+ { 2003, 1, 4, 1423,11, 1 },
+ { 2003, 2, 2, 1423,12, 1 },
+ { 2003, 3, 4, 1424, 1, 1 },
+ { 2003, 4, 3, 1424, 2, 1 },
+ { 2003, 5, 2, 1424, 3, 1 },
+ { 2003, 6, 1, 1424, 4, 1 },
+ { 2003, 7, 1, 1424, 5, 1 },
+ { 2003, 7,30, 1424, 6, 1 },
+ { 2003, 8,29, 1424, 7, 1 },
+ { 2003, 9,27, 1424, 8, 1 },
+ { 2003,10,26, 1424, 9, 1 },
+ { 2003,11,25, 1424,10, 1 },
+ { 2003,12,24, 1424,11, 1 },
+ { 2004, 1,23, 1424,12, 1 },
+ { 2004, 2,21, 1425, 1, 1 },
+ { 2004, 3,22, 1425, 2, 1 },
+ { 2004, 4,20, 1425, 3, 1 },
+ { 2004, 5,20, 1425, 4, 1 },
+ { 2004, 6,19, 1425, 5, 1 },
+ { 2004, 7,18, 1425, 6, 1 },
+ { 2004, 8,17, 1425, 7, 1 },
+ { 2004, 9,15, 1425, 8, 1 },
+ { 2004,10,15, 1425, 9, 1 },
+ { 2004,11,14, 1425,10, 1 },
+ { 2004,12,13, 1425,11, 1 },
+ { 2005, 1,12, 1425,12, 1 },
+ { 2005, 2,10, 1426, 1, 1 },
+ { 2005, 3,11, 1426, 2, 1 },
+ { 2005, 4,10, 1426, 3, 1 },
+ { 2005, 5, 9, 1426, 4, 1 },
+ { 2005, 6, 8, 1426, 5, 1 },
+ { 2005, 7, 7, 1426, 6, 1 },
+ { 2005, 8, 6, 1426, 7, 1 },
+ { 2005, 9, 5, 1426, 8, 1 },
+ { 2005,10, 4, 1426, 9, 1 },
+ { 2005,11, 3, 1426,10, 1 },
+ { 2005,12, 3, 1426,11, 1 },
+ { 2006, 1, 1, 1426,12, 1 },
+ { 2006, 1,31, 1427, 1, 1 },
+ { 2006, 3, 1, 1427, 2, 1 },
+ { 2006, 3,30, 1427, 3, 1 },
+ { 2006, 4,29, 1427, 4, 1 },
+ { 2006, 5,28, 1427, 5, 1 },
+ { 2006, 6,27, 1427, 6, 1 },
+ { 2006, 7,26, 1427, 7, 1 },
+ { 2006, 8,25, 1427, 8, 1 },
+ { 2006, 9,24, 1427, 9, 1 },
+ { 2006,10,23, 1427,10, 1 },
+ { 2006,11,22, 1427,11, 1 },
+ { 2006,12,22, 1427,12, 1 },
+ { 2007, 1,20, 1428, 1, 1 },
+ { 2007, 2,19, 1428, 2, 1 },
+ { 2007, 3,20, 1428, 3, 1 },
+ { 2007, 4,18, 1428, 4, 1 },
+ { 2007, 5,18, 1428, 5, 1 },
+ { 2007, 6,16, 1428, 6, 1 },
+ { 2007, 7,15, 1428, 7, 1 },
+ { 2007, 8,14, 1428, 8, 1 },
+ { 2007, 9,13, 1428, 9, 1 },
+ { 2007,10,13, 1428,10, 1 },
+ { 2007,11,11, 1428,11, 1 },
+ { 2007,12,11, 1428,12, 1 },
+ { 2008, 1,10, 1429, 1, 1 },
+ { 2008, 2, 8, 1429, 2, 1 },
+ { 2008, 3, 9, 1429, 3, 1 },
+ { 2008, 4, 7, 1429, 4, 1 },
+ { 2008, 5, 6, 1429, 5, 1 },
+ { 2008, 6, 5, 1429, 6, 1 },
+ { 2008, 7, 4, 1429, 7, 1 },
+ { 2008, 8, 2, 1429, 8, 1 },
+ { 2008, 9, 1, 1429, 9, 1 },
+ { 2008,10, 1, 1429,10, 1 },
+ { 2008,10,30, 1429,11, 1 },
+ { 2008,11,29, 1429,12, 1 },
+ { 2008,12,29, 1430, 1, 1 },
+ { 2009, 1,27, 1430, 2, 1 },
+ { 2009, 2,26, 1430, 3, 1 },
+ { 2009, 3,28, 1430, 4, 1 },
+ { 2009, 4,26, 1430, 5, 1 },
+ { 2009, 5,25, 1430, 6, 1 },
+ { 2009, 6,24, 1430, 7, 1 },
+ { 2009, 7,23, 1430, 8, 1 },
+ { 2009, 8,22, 1430, 9, 1 },
+ { 2009, 9,20, 1430,10, 1 },
+ { 2009,10,20, 1430,11, 1 },
+ { 2009,11,18, 1430,12, 1 },
+ { 2009,12,18, 1431, 1, 1 },
+ { 2010, 1,16, 1431, 2, 1 },
+ { 2010, 2,15, 1431, 3, 1 },
+ { 2010, 3,17, 1431, 4, 1 },
+ { 2010, 4,15, 1431, 5, 1 },
+ { 2010, 5,15, 1431, 6, 1 },
+ { 2010, 6,13, 1431, 7, 1 },
+ { 2010, 7,13, 1431, 8, 1 },
+ { 2010, 8,11, 1431, 9, 1 },
+ { 2010, 9,10, 1431,10, 1 },
+ { 2010,10, 9, 1431,11, 1 },
+ { 2010,11, 7, 1431,12, 1 },
+ { 2010,12, 7, 1432, 1, 1 },
+ { 2011, 1, 5, 1432, 2, 1 },
+ { 2011, 2, 4, 1432, 3, 1 },
+ { 2011, 3, 6, 1432, 4, 1 },
+ { 2011, 4, 5, 1432, 5, 1 },
+ { 2011, 5, 4, 1432, 6, 1 },
+ { 2011, 6, 3, 1432, 7, 1 },
+ { 2011, 7, 2, 1432, 8, 1 },
+ { 2011, 8, 1, 1432, 9, 1 },
+ { 2011, 8,30, 1432,10, 1 },
+ { 2011, 9,29, 1432,11, 1 },
+ { 2011,10,28, 1432,12, 1 },
+ { 2011,11,26, 1433, 1, 1 },
+ { 2011,12,26, 1433, 2, 1 },
+ { 2012, 1,24, 1433, 3, 1 },
+ { 2012, 2,23, 1433, 4, 1 },
+ { 2012, 3,24, 1433, 5, 1 },
+ { 2012, 4,22, 1433, 6, 1 },
+ { 2012, 5,22, 1433, 7, 1 },
+ { 2012, 6,21, 1433, 8, 1 },
+ { 2012, 7,20, 1433, 9, 1 },
+ { 2012, 8,19, 1433,10, 1 },
+ { 2012, 9,17, 1433,11, 1 },
+ { 2012,10,17, 1433,12, 1 },
+ { 2012,11,15, 1434, 1, 1 },
+ { 2012,12,14, 1434, 2, 1 },
+ { 2013, 1,13, 1434, 3, 1 },
+ { 2013, 2,11, 1434, 4, 1 },
+ { 2013, 3,13, 1434, 5, 1 },
+ { 2013, 4,11, 1434, 6, 1 },
+ { 2013, 5,11, 1434, 7, 1 },
+ { 2013, 6,10, 1434, 8, 1 },
+ { 2013, 7, 9, 1434, 9, 1 },
+ { 2013, 8, 8, 1434,10, 1 },
+ { 2013, 9, 7, 1434,11, 1 },
+ { 2013,10, 6, 1434,12, 1 },
+ { 2013,11, 4, 1435, 1, 1 },
+ { 2013,12, 4, 1435, 2, 1 },
+ { 2014, 1, 2, 1435, 3, 1 },
+ { 2014, 2, 1, 1435, 4, 1 },
+ { 2014, 3, 2, 1435, 5, 1 },
+ { 2014, 4, 1, 1435, 6, 1 },
+ { 2014, 4,30, 1435, 7, 1 },
+ { 2014, 5,30, 1435, 8, 1 },
+ { 2014, 6,28, 1435, 9, 1 },
+ { 2014, 7,28, 1435,10, 1 },
+ { 2014, 8,27, 1435,11, 1 },
+ { 2014, 9,25, 1435,12, 1 },
+ { 2014,10,25, 1436, 1, 1 },
+ { 2014,11,23, 1436, 2, 1 },
+ { 2014,12,23, 1436, 3, 1 },
+ { 2015, 1,21, 1436, 4, 1 },
+ { 2015, 2,20, 1436, 5, 1 },
+ { 2015, 3,21, 1436, 6, 1 },
+ { 2015, 4,20, 1436, 7, 1 },
+ { 2015, 5,19, 1436, 8, 1 },
+ { 2015, 6,18, 1436, 9, 1 },
+ { 2015, 7,17, 1436,10, 1 },
+ { 2015, 8,16, 1436,11, 1 },
+ { 2015, 9,14, 1436,12, 1 },
+ { 2015,10,14, 1437, 1, 1 },
+ { 2015,11,13, 1437, 2, 1 },
+ { 2015,12,12, 1437, 3, 1 },
+ { 2016, 1,11, 1437, 4, 1 },
+ { 2016, 2,10, 1437, 5, 1 },
+ { 2016, 3,10, 1437, 6, 1 },
+ { 2016, 4, 8, 1437, 7, 1 },
+ { 2016, 5, 8, 1437, 8, 1 },
+ { 2016, 6, 6, 1437, 9, 1 },
+ { 2016, 7, 6, 1437,10, 1 },
+ { 2016, 8, 4, 1437,11, 1 },
+ { 2016, 9, 2, 1437,12, 1 },
+ { 2016,10, 2, 1438, 1, 1 },
+ { 2016,11, 1, 1438, 2, 1 },
+ { 2016,11,30, 1438, 3, 1 },
+ { 2016,12,30, 1438, 4, 1 },
+ { 2017, 1,29, 1438, 5, 1 },
+ { 2017, 2,28, 1438, 6, 1 },
+ { 2017, 3,29, 1438, 7, 1 },
+ { 2017, 4,27, 1438, 8, 1 },
+ { 2017, 5,27, 1438, 9, 1 },
+ { 2017, 6,25, 1438,10, 1 },
+ { 2017, 7,24, 1438,11, 1 },
+ { 2017, 8,23, 1438,12, 1 },
+ { 2017, 9,21, 1439, 1, 1 },
+ { 2017,10,21, 1439, 2, 1 },
+ { 2017,11,19, 1439, 3, 1 },
+ { 2017,12,19, 1439, 4, 1 },
+ { 2018, 1,18, 1439, 5, 1 },
+ { 2018, 2,17, 1439, 6, 1 },
+ { 2018, 3,18, 1439, 7, 1 },
+ { 2018, 4,17, 1439, 8, 1 },
+ { 2018, 5,16, 1439, 9, 1 },
+ { 2018, 6,15, 1439,10, 1 },
+ { 2018, 7,14, 1439,11, 1 },
+ { 2018, 8,12, 1439,12, 1 },
+ { 2018, 9,11, 1440, 1, 1 },
+ { 2019, 8,31, 1441, 1, 1 },
+ { 2020, 8,20, 1442, 1, 1 },
+ { 2021, 8, 9, 1443, 1, 1 },
+ { 2022, 7,30, 1444, 1, 1 },
+ { 2023, 7,19, 1445, 1, 1 },
+ { 2024, 7, 7, 1446, 1, 1 },
+ { 2025, 6,26, 1447, 1, 1 },
+ { 2026, 6,16, 1448, 1, 1 },
+ { 2027, 6, 6, 1449, 1, 1 },
+ { 2028, 5,25, 1450, 1, 1 },
+ { 2029, 5,14, 1451, 1, 1 },
+ { 2030, 5, 4, 1452, 1, 1 },
+ { 2031, 4,23, 1453, 1, 1 },
+ { 2032, 4,11, 1454, 1, 1 },
+ { 2033, 4, 1, 1455, 1, 1 },
+ { 2034, 3,22, 1456, 1, 1 },
+ { 2035, 3,11, 1457, 1, 1 },
+ { 2036, 2,29, 1458, 1, 1 },
+ { 2037, 2,17, 1459, 1, 1 },
+ { 2038, 2, 6, 1460, 1, 1 },
+ { 2039, 1,26, 1461, 1, 1 },
+ { 2040, 1,15, 1462, 1, 1 },
+ { 2041, 1, 4, 1463, 1, 1 },
+ { 2041,12,25, 1464, 1, 1 },
+ { 2042,12,14, 1465, 1, 1 },
+ { 2043,12, 3, 1466, 1, 1 },
+ { 2044,11,21, 1467, 1, 1 },
+ { 2045,11,11, 1468, 1, 1 },
+ { 2046,10,31, 1469, 1, 1 },
+ { 2047,10,21, 1470, 1, 1 },
+ { 2048,10, 9, 1471, 1, 1 },
+ { 2049, 9,29, 1472, 1, 1 },
+ { 2050, 9,18, 1473, 1, 1 },
+ { 2051, 9, 7, 1474, 1, 1 },
+ { 2052, 8,26, 1475, 1, 1 },
+ { 2053, 8,15, 1476, 1, 1 },
+ { 2054, 8, 5, 1477, 1, 1 },
+ { 2055, 7,26, 1478, 1, 1 },
+ { 2056, 7,14, 1479, 1, 1 },
+ { 2057, 7, 3, 1480, 1, 1 },
+ { 2058, 6,22, 1481, 1, 1 },
+ { 2059, 6,11, 1482, 1, 1 },
+ { 2061, 5,21, 1484, 1, 1 },
+ { 2063, 4,30, 1486, 1, 1 },
+ { 2065, 4, 7, 1488, 1, 1 },
+ { 2067, 3,17, 1490, 1, 1 },
+ { 2069, 2,23, 1492, 1, 1 },
+ { 2071, 2, 2, 1494, 1, 1 },
+ { 2073, 1,10, 1496, 1, 1 },
+ { 2074,12,20, 1498, 1, 1 },
+ { 2076,11,28, 1500, 1, 1 },
+ { 0, 0, 0, 0, 0, 0 }, // terminator
+};
+
+static const UChar zoneSA[] = {0x41,0x73,0x69,0x61,0x2F,0x52,0x69,0x79,0x61,0x64,0x68,0}; // "Asia/Riyadh"
+
void CalendarTest::TestIslamicUmAlQura() {
UErrorCode status = U_ZERO_ERROR;
- Locale islamicLoc("ar_SA@calendar=islamic-umalqura");
- Calendar* tstCal = Calendar::createInstance(islamicLoc, status);
+ Locale umalquraLoc("ar_SA@calendar=islamic-umalqura");
+ Locale gregoLoc("ar_SA@calendar=gregorian");
+ TimeZone* tzSA = TimeZone::createTimeZone(UnicodeString(TRUE, zoneSA, -1));
+ Calendar* tstCal = Calendar::createInstance(*((const TimeZone *)tzSA), umalquraLoc, status);
+ Calendar* gregCal = Calendar::createInstance(*((const TimeZone *)tzSA), gregoLoc, status);
IslamicCalendar* iCal = (IslamicCalendar*)tstCal;
if(strcmp(iCal->getType(), "islamic-umalqura") != 0) {
errln("wrong type of calendar created - %s", iCal->getType());
}
-
int32_t firstYear = 1318;
int32_t lastYear = 1368; // just enough to be pretty sure
@@ -2882,7 +3305,7 @@ void CalendarTest::TestIslamicUmAlQura() {
SimpleDateFormat* formatter = new SimpleDateFormat("yyyy-MM-dd", Locale::getUS(), status);
UDate date = formatter->parse("1975-05-06", status);
- Calendar* is_cal = Calendar::createInstance(islamicLoc, status);
+ Calendar* is_cal = Calendar::createInstance(umalquraLoc, status);
is_cal->setTime(date, status);
int32_t is_day = is_cal->get(UCAL_DAY_OF_MONTH,status);
int32_t is_month = is_cal->get(UCAL_MONTH,status);
@@ -2896,10 +3319,34 @@ void CalendarTest::TestIslamicUmAlQura() {
if(date2 != date) {
errln("before(%f) and after(%f) dates don't match up!",date, date2);
}
+
+ // check against data
+ const GregoUmmAlQuraMap* guMapPtr;
+ gregCal->clear();
+ tstCal->clear();
+ for (guMapPtr = guMappings; guMapPtr->gYear != 0; guMapPtr++) {
+ status = U_ZERO_ERROR;
+ gregCal->set(guMapPtr->gYear, guMapPtr->gMon - 1, guMapPtr->gDay, 12, 0);
+ date = gregCal->getTime(status);
+ tstCal->setTime(date, status);
+ int32_t uYear = tstCal->get(UCAL_YEAR, status);
+ int32_t uMon = tstCal->get(UCAL_MONTH, status) + 1;
+ int32_t uDay = tstCal->get(UCAL_DATE, status);
+ if(U_FAILURE(status)) {
+ errln("For gregorian %4d-%02d-%02d, get status %s",
+ guMapPtr->gYear, guMapPtr->gMon, guMapPtr->gDay, u_errorName(status) );
+ } else if (uYear != guMapPtr->uYear || uMon != guMapPtr->uMon || uDay != guMapPtr->uDay) {
+ errln("For gregorian %4d-%02d-%02d, expect umalqura %4d-%02d-%02d, get %4d-%02d-%02d",
+ guMapPtr->gYear, guMapPtr->gMon, guMapPtr->gDay,
+ guMapPtr->uYear, guMapPtr->uMon, guMapPtr->uDay, uYear, uMon, uDay );
+ }
+ }
delete is_cal;
delete formatter;
+ delete gregCal;
delete tstCal;
+ delete tzSA;
}
void CalendarTest::TestIslamicTabularDates() {
« no previous file with comments | « source/test/intltest/calregts.cpp ('k') | source/test/intltest/canittst.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698