UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

1,408 lines (1,346 loc) 206 kB
dojo.provide("dojox.date.tests.umalqura.Date"); dojo.require("dojox.date.umalqura.Date"); dojo.require("dojox.date.umalqura.locale"); dojo.require("dojox.date.umalqura"); dojo.require("dojox.date.islamic.Date"); dojo.require("dojox.date.islamic.locale"); dojo.require("dojox.date.islamic"); dojo.require("dojo.date"); dojo.require("dojo.date.locale"); dojo.requireLocalization("dojo.cldr", "gregorian"); dojo.requireLocalization("dojo.cldr", "islamic"); tests.register("dojox.date.tests.umalqura.Date", [ { // Test formatting and parsing of dates in various locales pre-built in dojo.cldr // NOTE: we can't set djConfig.extraLocale before bootstrapping unit tests, so directly // load resources here for specific locales: name: "setup", setUp: function () { var partLocaleList = ["ar", "en"]; dojo.forEach(partLocaleList, function (locale) { dojo.requireLocalization("dojo.cldr", "islamic", locale); }); }, runTest: function (t) { }, tearDown: function () { //Clean up bundles that should not exist if //the test is re-run. // delete dojo.cldr.nls.islamic; } }, { name: "conversion", runTest: function (t) { var dates = [ [1400, 0, 1, 1979, 10, 21], [1400, 1, 1, 1979, 11, 21], [1400, 2, 1, 1980, 0, 19], [1400, 3, 1, 1980, 1, 18], [1400, 4, 1, 1980, 2, 18], [1400, 5, 1, 1980, 3, 16] ]; var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1400, 0, 1); gdate1 = new Date(1979, 10, 21); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); t.is(diff, 0, "error in converting to Gregorian"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); //Case 2 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1400, 0, 1); gdate1 = new Date(1979, 10, 21); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); } //Case 3 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1400, 0, 2); gdate1 = new Date(1979, 10, 22); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); } //Case 4 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1405, 0, 1); gdate1 = new Date(1984, 8, 26); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); } //Case 5 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1410, 0, 1); gdate1 = new Date(1989, 7, 3); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); } //Case 6 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1400, 0, 1); gdate1 = new Date(1979, 10, 21); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); diff = idate1.getMonth() - idate2.getMonth(); diff = idate1.getDate() - idate2.getDate(); dates = [ [1400, 0, 1, 1979, 10, 21], [1400, 0, 2, 1979, 10, 22], ]; dojo.forEach(dates, function (d, i) { idate1 = new dojox.date.umalqura.Date(d[0], d[1], d[2]); gdate1 = new Date(d[3], d[4], d[5]); idate2 = new dojox.date.umalqura.Date(); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian at Year : " + d[0] + " Month: " + d[1] + " Day: " + d[2]; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); }); } //Case 7 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1405, 0, 2); gdate1 = new Date(1984, 8, 27); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); } //Case 8 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1410, 0, 2); gdate1 = new Date(1989, 7, 4); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); } //Case 9 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1415, 0, 2); gdate1 = new Date(1994, 5, 12); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); idate2.fromGregorian(gdate1); var errMsg = "error in converting from Gregorian"; diff = idate1.getFullYear() - idate2.getFullYear(); t.is(diff, 0, errMsg + " error in year"); diff = idate1.getMonth() - idate2.getMonth(); t.is(diff, 0, errMsg + " error in Month"); diff = idate1.getDate() - idate2.getDate(); t.is(diff, 0, errMsg + " error in Date"); } //Case 10 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1400, 2, 2); gdate1 = new Date(1980, 0, 20); idate2 = new dojox.date.umalqura.Date(); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); t.is(diff, 0, "error in converting to Gregorian"); } //Case 11 { var idate1, idate2, gdate1, gdate2; var diff; idate1 = new dojox.date.umalqura.Date(1400, 3, 1); gdate1 = new Date(1980, 1, 18); gdate2 = idate1.toGregorian(); diff = dojo.date.compare(gdate1, gdate2, "date"); t.is(diff, 0, "error in converting to Gregorian"); } } }, { name: "toGregorian", runTest: function (t) { var dateIslamic = new dojox.date.umalqura.Date(1431, 3, 6); // March 22 2010 var dateGregorian = dateIslamic.toGregorian(); t.is(0, dojo.date.compare(new Date(2010, 2, 22), dateGregorian, "date")); var dates = [ [ 1882, 10, 12, 1300, 0, 1 ], [ 1882, 10, 14, 1300, 0, 3 ], [ 1883, 5, 20, 1300, 7, 14 ], [ 1883, 5, 22, 1300, 7, 16 ], [ 1884, 0, 26, 1301, 2, 27 ], [ 1884, 0, 28, 1301, 2, 29 ], [ 1884, 8, 2, 1301, 10, 11 ], [ 1884, 8, 4, 1301, 10, 13 ], [ 1885, 3, 10, 1302, 5, 24 ], [ 1885, 3, 12, 1302, 5, 26 ], [ 1885, 10, 16, 1303, 1, 9 ], [ 1885, 10, 18, 1303, 1, 11 ], [ 1886, 5, 24, 1303, 8, 21 ], [ 1886, 5, 26, 1303, 8, 23 ], [ 1887, 0, 30, 1304, 4, 6 ], [ 1887, 1, 1, 1304, 4, 8 ], [ 1887, 8, 7, 1304, 11, 18 ], [ 1887, 8, 9, 1304, 11, 20 ], [ 1888, 3, 14, 1305, 7, 2 ], [ 1888, 3, 16, 1305, 7, 4 ], [ 1888, 10, 20, 1306, 2, 16 ], [ 1888, 10, 22, 1306, 2, 18 ], [ 1889, 5, 28, 1306, 9, 29 ], [ 1889, 5, 30, 1306, 10, 1 ], [ 1890, 1, 3, 1307, 5, 13 ], [ 1890, 1, 5, 1307, 5, 15 ], [ 1890, 8, 11, 1308, 0, 26 ], [ 1890, 8, 13, 1308, 0, 28 ], [ 1891, 3, 19, 1308, 8, 10 ], [ 1891, 3, 21, 1308, 8, 12 ], [ 1891, 10, 25, 1309, 3, 23 ], [ 1891, 10, 27, 1309, 3, 25 ], [ 1892, 6, 2, 1309, 11, 7 ], [ 1892, 6, 4, 1309, 11, 9 ], [ 1893, 1, 7, 1310, 6, 20 ], [ 1893, 1, 9, 1310, 6, 22 ], [ 1893, 8, 15, 1311, 2, 4 ], [ 1893, 8, 17, 1311, 2, 6 ], [ 1894, 3, 23, 1311, 9, 17 ], [ 1894, 3, 25, 1311, 9, 19 ], [ 1894, 10, 29, 1312, 5, 1 ], [ 1894, 11, 1, 1312, 5, 3 ], [ 1895, 6, 7, 1313, 0, 14 ], [ 1895, 6, 9, 1313, 0, 16 ], [ 1896, 1, 12, 1313, 7, 28 ], [ 1896, 1, 14, 1313, 7, 30 ], [ 1896, 8, 19, 1314, 3, 11 ], [ 1896, 8, 21, 1314, 3, 13 ], [ 1897, 3, 27, 1314, 10, 24 ], [ 1897, 3, 29, 1314, 10, 26 ], [ 1897, 11, 3, 1315, 6, 8 ], [ 1897, 11, 5, 1315, 6, 10 ], [ 1898, 6, 11, 1316, 1, 22 ], [ 1898, 6, 13, 1316, 1, 24 ], [ 1899, 1, 16, 1316, 9, 5 ], [ 1899, 1, 18, 1316, 9, 7 ], [ 1899, 8, 24, 1317, 4, 18 ], [ 1899, 8, 26, 1317, 4, 20 ], [ 1900, 4, 2, 1318, 0, 3 ], [ 1900, 4, 4, 1318, 0, 5 ], [ 1900, 11, 8, 1318, 7, 15 ], [ 1900, 11, 10, 1318, 7, 17 ], [ 1901, 6, 16, 1319, 2, 29 ], [ 1901, 6, 18, 1319, 3, 2 ], [ 1902, 1, 21, 1319, 10, 12 ], [ 1902, 1, 23, 1319, 10, 14 ], [ 1902, 8, 29, 1320, 5, 26 ], [ 1902, 9, 1, 1320, 5, 28 ], [ 1903, 4, 7, 1321, 1, 9 ], [ 1903, 4, 9, 1321, 1, 11 ], [ 1903, 11, 13, 1321, 8, 24 ], [ 1903, 11, 15, 1321, 8, 26 ], [ 1904, 6, 20, 1322, 4, 6 ], [ 1904, 6, 22, 1322, 4, 8 ], [ 1905, 1, 25, 1322, 11, 20 ], [ 1905, 1, 27, 1322, 11, 22 ], [ 1905, 9, 3, 1323, 7, 4 ], [ 1905, 9, 5, 1323, 7, 6 ], [ 1906, 4, 11, 1324, 2, 17 ], [ 1906, 4, 13, 1324, 2, 19 ], [ 1906, 11, 17, 1324, 10, 1 ], [ 1906, 11, 19, 1324, 10, 3 ], [ 1907, 6, 25, 1325, 5, 14 ], [ 1907, 6, 27, 1325, 5, 16 ], [ 1908, 2, 1, 1326, 0, 27 ], [ 1908, 2, 3, 1326, 0, 29 ], [ 1908, 9, 7, 1326, 8, 11 ], [ 1908, 9, 9, 1326, 8, 13 ], [ 1909, 4, 15, 1327, 3, 25 ], [ 1909, 4, 17, 1327, 3, 27 ], [ 1909, 11, 21, 1327, 11, 8 ], [ 1909, 11, 23, 1327, 11, 10 ], [ 1910, 6, 29, 1328, 6, 22 ], [ 1910, 6, 31, 1328, 6, 24 ], [ 1911, 2, 6, 1329, 2, 5 ], [ 1911, 2, 8, 1329, 2, 7 ], [ 1911, 9, 12, 1329, 9, 19 ], [ 1911, 9, 14, 1329, 9, 21 ], [ 1912, 4, 19, 1330, 5, 2 ], [ 1912, 4, 21, 1330, 5, 4 ], [ 1912, 11, 25, 1331, 0, 16 ], [ 1912, 11, 27, 1331, 0, 18 ], [ 1913, 7, 2, 1331, 7, 29 ], [ 1913, 7, 4, 1331, 8, 1 ], [ 1914, 2, 10, 1332, 3, 13 ], [ 1914, 2, 12, 1332, 3, 15 ], [ 1914, 9, 16, 1332, 10, 25 ], [ 1914, 9, 18, 1332, 10, 27 ], [ 1915, 4, 24, 1333, 6, 10 ], [ 1915, 4, 26, 1333, 6, 12 ], [ 1915, 11, 30, 1334, 1, 23 ], [ 1916, 0, 1, 1334, 1, 25 ], [ 1916, 7, 6, 1334, 9, 6 ], [ 1916, 7, 8, 1334, 9, 8 ], [ 1917, 2, 14, 1335, 4, 20 ], [ 1917, 2, 16, 1335, 4, 22 ], [ 1917, 9, 20, 1336, 0, 3 ], [ 1917, 9, 22, 1336, 0, 5 ], [ 1918, 4, 28, 1336, 7, 17 ], [ 1918, 4, 30, 1336, 7, 19 ], [ 1919, 0, 3, 1337, 2, 30 ], [ 1919, 0, 5, 1337, 3, 2 ], [ 1919, 7, 11, 1337, 10, 14 ], [ 1919, 7, 13, 1337, 10, 16 ], [ 1920, 2, 18, 1338, 5, 27 ], [ 1920, 2, 20, 1338, 5, 29 ], [ 1920, 9, 24, 1339, 1, 11 ], [ 1920, 9, 26, 1339, 1, 13 ], [ 1921, 5, 1, 1339, 8, 24 ], [ 1921, 5, 3, 1339, 8, 26 ], [ 1922, 0, 7, 1340, 4, 9 ], [ 1922, 0, 9, 1340, 4, 11 ], [ 1922, 7, 15, 1340, 11, 21 ], [ 1922, 7, 17, 1340, 11, 23 ], [ 1923, 2, 23, 1341, 7, 5 ], [ 1923, 2, 25, 1341, 7, 7 ], [ 1923, 9, 29, 1342, 2, 19 ], [ 1923, 9, 31, 1342, 2, 21 ], [ 1924, 5, 5, 1342, 10, 2 ], [ 1924, 5, 7, 1342, 10, 4 ], [ 1925, 0, 11, 1343, 5, 16 ], [ 1925, 0, 13, 1343, 5, 18 ], [ 1925, 7, 19, 1344, 0, 29 ], [ 1925, 7, 21, 1344, 1, 1 ], [ 1926, 2, 27, 1344, 8, 13 ], [ 1926, 2, 29, 1344, 8, 15 ], [ 1926, 10, 2, 1345, 3, 26 ], [ 1926, 10, 4, 1345, 3, 28 ], [ 1927, 5, 10, 1345, 11, 10 ], [ 1927, 5, 12, 1345, 11, 12 ], [ 1928, 0, 16, 1346, 6, 22 ], [ 1928, 0, 18, 1346, 6, 24 ], [ 1928, 7, 23, 1347, 2, 7 ], [ 1928, 7, 25, 1347, 2, 9 ], [ 1929, 2, 31, 1347, 9, 19 ], [ 1929, 3, 2, 1347, 9, 21 ], [ 1929, 10, 6, 1348, 5, 4 ], [ 1929, 10, 8, 1348, 5, 6 ], [ 1930, 5, 14, 1349, 0, 17 ], [ 1930, 5, 16, 1349, 0, 19 ], [ 1931, 0, 20, 1349, 8, 1 ], [ 1931, 0, 22, 1349, 8, 3 ], [ 1931, 7, 28, 1350, 3, 14 ], [ 1931, 7, 30, 1350, 3, 16 ], [ 1932, 3, 4, 1350, 10, 27 ], [ 1932, 3, 6, 1350, 10, 29 ], [ 1932, 10, 10, 1351, 6, 11 ], [ 1932, 10, 12, 1351, 6, 13 ], [ 1933, 5, 18, 1352, 1, 24 ], [ 1933, 5, 20, 1352, 1, 26 ], [ 1934, 0, 24, 1352, 9, 8 ], [ 1934, 0, 26, 1352, 9, 10 ], [ 1934, 8, 1, 1353, 4, 21 ], [ 1934, 8, 3, 1353, 4, 23 ], [ 1935, 3, 9, 1354, 0, 5 ], [ 1935, 3, 11, 1354, 0, 7 ], [ 1935, 10, 15, 1354, 7, 18 ], [ 1935, 10, 17, 1354, 7, 20 ], [ 1936, 5, 22, 1355, 3, 3 ], [ 1936, 5, 24, 1355, 3, 5 ], [ 1937, 0, 28, 1355, 10, 15 ], [ 1937, 0, 30, 1355, 10, 17 ], [ 1937, 8, 5, 1356, 5, 29 ], [ 1937, 8, 7, 1356, 6, 1 ], [ 1938, 3, 13, 1357, 1, 12 ], [ 1938, 3, 15, 1357, 1, 14 ], [ 1938, 10, 19, 1357, 8, 26 ], [ 1938, 10, 21, 1357, 8, 28 ], [ 1939, 5, 27, 1358, 4, 9 ], [ 1939, 5, 29, 1358, 4, 11 ], [ 1940, 1, 2, 1358, 11, 23 ], [ 1940, 1, 4, 1358, 11, 25 ], [ 1940, 8, 9, 1359, 7, 6 ], [ 1940, 8, 11, 1359, 7, 8 ], [ 1941, 3, 17, 1360, 2, 20 ], [ 1941, 3, 19, 1360, 2, 22 ], [ 1941, 10, 23, 1360, 10, 4 ], [ 1941, 10, 25, 1360, 10, 6 ], [ 1942, 6, 1, 1361, 5, 17 ], [ 1942, 6, 3, 1361, 5, 19 ], [ 1943, 1, 6, 1362, 1, 1 ], [ 1943, 1, 8, 1362, 1, 3 ], [ 1943, 8, 14, 1362, 8, 14 ], [ 1943, 8, 16, 1362, 8, 16 ], [ 1944, 3, 21, 1363, 3, 27 ], [ 1944, 3, 23, 1363, 3, 29 ], [ 1944, 10, 27, 1363, 11, 11 ], [ 1944, 10, 29, 1363, 11, 13 ], [ 1945, 6, 5, 1364, 6, 25 ], [ 1945, 6, 7, 1364, 6, 27 ], [ 1946, 1, 10, 1365, 2, 7 ], [ 1946, 1, 12, 1365, 2, 9 ], [ 1946, 8, 18, 1365, 9, 22 ], [ 1946, 8, 20, 1365, 9, 24 ], [ 1947, 3, 26, 1366, 5, 5 ], [ 1947, 3, 28, 1366, 5, 7 ], [ 1947, 11, 2, 1367, 0, 19 ], [ 1947, 11, 4, 1367, 0, 21 ], [ 1948, 6, 9, 1367, 8, 2 ], [ 1948, 6, 11, 1367, 8, 4 ], [ 1949, 1, 14, 1368, 3, 16 ], [ 1949, 1, 16, 1368, 3, 18 ], [ 1949, 8, 22, 1368, 10, 29 ], [ 1949, 8, 24, 1368, 11, 1 ], [ 1950, 3, 30, 1369, 6, 12 ], [ 1950, 4, 2, 1369, 6, 14 ], [ 1950, 11, 6, 1370, 1, 25 ], [ 1950, 11, 8, 1370, 1, 27 ], [ 1951, 6, 14, 1370, 9, 10 ], [ 1951, 6, 16, 1370, 9, 12 ], [ 1952, 1, 19, 1371, 4, 23 ], [ 1952, 1, 21, 1371, 4, 25 ], [ 1952, 8, 26, 1372, 0, 6 ], [ 1952, 8, 28, 1372, 0, 8 ], [ 1953, 4, 4, 1372, 7, 20 ], [ 1953, 4, 6, 1372, 7, 22 ], [ 1953, 11, 10, 1373, 3, 3 ], [ 1953, 11, 12, 1373, 3, 5 ], [ 1954, 6, 18, 1373, 10, 17 ], [ 1954, 6, 20, 1373, 10, 19 ], [ 1955, 1, 23, 1374, 5, 30 ], [ 1955, 1, 25, 1374, 6, 2 ], [ 1955, 9, 1, 1375, 1, 14 ], [ 1955, 9, 3, 1375, 1, 16 ], [ 1956, 4, 8, 1375, 8, 27 ], [ 1956, 4, 10, 1375, 8, 29 ], [ 1956, 11, 14, 1376, 4, 11 ], [ 1956, 11, 16, 1376, 4, 13 ], [ 1957, 6, 22, 1376, 11, 24 ], [ 1957, 6, 24, 1376, 11, 26 ], [ 1958, 1, 27, 1377, 7, 8 ], [ 1958, 2, 1, 1377, 7, 10 ], [ 1958, 9, 5, 1378, 2, 21 ], [ 1958, 9, 7, 1378, 2, 23 ], [ 1959, 4, 13, 1378, 10, 5 ], [ 1959, 4, 15, 1378, 10, 7 ], [ 1959, 11, 19, 1379, 5, 19 ], [ 1959, 11, 21, 1379, 5, 21 ], [ 1960, 6, 26, 1380, 1, 2 ], [ 1960, 6, 28, 1380, 1, 4 ], [ 1961, 2, 3, 1380, 8, 15 ], [ 1961, 2, 5, 1380, 8, 17 ], [ 1961, 9, 9, 1381, 3, 29 ], [ 1961, 9, 11, 1381, 4, 1 ], [ 1962, 4, 17, 1381, 11, 13 ], [ 1962, 4, 19, 1381, 11, 15 ], [ 1962, 11, 23, 1382, 6, 26 ], [ 1962, 11, 25, 1382, 6, 28 ], [ 1963, 6, 31, 1383, 2, 10 ], [ 1963, 7, 2, 1383, 2, 12 ], [ 1964, 2, 7, 1383, 9, 22 ], [ 1964, 2, 9, 1383, 9, 24 ], [ 1964, 9, 13, 1384, 5, 7 ], [ 1964, 9, 15, 1384, 5, 9 ], [ 1965, 4, 21, 1385, 0, 19 ], [ 1965, 4, 23, 1385, 0, 21 ], [ 1965, 11, 27, 1385, 8, 4 ], [ 1965, 11, 29, 1385, 8, 6 ], [ 1966, 7, 4, 1386, 3, 17 ], [ 1966, 7, 6, 1386, 3, 19 ], [ 1967, 2, 12, 1386, 10, 30 ], [ 1967, 2, 14, 1386, 11, 2 ], [ 1967, 9, 18, 1387, 6, 14 ], [ 1967, 9, 20, 1387, 6, 16 ], [ 1968, 4, 25, 1388, 1, 27 ], [ 1968, 4, 27, 1388, 1, 29 ], [ 1968, 11, 31, 1388, 9, 11 ], [ 1969, 0, 2, 1388, 9, 13 ], [ 1969, 7, 8, 1389, 4, 24 ], [ 1969, 7, 10, 1389, 4, 26 ], [ 1970, 2, 16, 1390, 0, 8 ], [ 1970, 2, 18, 1390, 0, 10 ], [ 1970, 9, 22, 1390, 7, 21 ], [ 1970, 9, 24, 1390, 7, 23 ], [ 1971, 4, 30, 1391, 3, 5 ], [ 1971, 5, 1, 1391, 3, 7 ], [ 1972, 0, 5, 1391, 10, 18 ], [ 1972, 0, 7, 1391, 10, 20 ], [ 1972, 7, 12, 1392, 6, 2 ], [ 1972, 7, 14, 1392, 6, 4 ], [ 1973, 2, 20, 1393, 1, 15 ], [ 1973, 2, 22, 1393, 1, 17 ], [ 1973, 9, 26, 1393, 8, 29 ], [ 1973, 9, 28, 1393, 9, 1 ], [ 1974, 5, 3, 1394, 4, 12 ], [ 1974, 5, 5, 1394, 4, 14 ], [ 1975, 0, 9, 1394, 11, 26 ], [ 1975, 0, 11, 1394, 11, 28 ], [ 1975, 7, 17, 1395, 7, 9 ], [ 1975, 7, 19, 1395, 7, 11 ], [ 1976, 2, 24, 1396, 2, 23 ], [ 1976, 2, 26, 1396, 2, 25 ], [ 1976, 9, 30, 1396, 10, 6 ], [ 1976, 10, 1, 1396, 10, 8 ], [ 1977, 5, 7, 1397, 5, 20 ], [ 1977, 5, 9, 1397, 5, 22 ], [ 1978, 0, 13, 1398, 1, 4 ], [ 1978, 0, 15, 1398, 1, 6 ], [ 1978, 7, 21, 1398, 8, 16 ], [ 1978, 7, 23, 1398, 8, 18 ], [ 1979, 2, 29, 1399, 4, 1 ], [ 1979, 2, 31, 1399, 4, 3 ], [ 1979, 10, 4, 1399, 11, 14 ], [ 1979, 10, 6, 1399, 11, 16 ], [ 1980, 5, 11, 1400, 6, 27 ], [ 1980, 5, 13, 1400, 6, 29 ], [ 1981, 0, 17, 1401, 2, 10 ], [ 1981, 0, 19, 1401, 2, 12 ], [ 1981, 7, 25, 1401, 9, 25 ], [ 1981, 7, 27, 1401, 9, 27 ], [ 1982, 3, 2, 1402, 5, 7 ], [ 1982, 3, 4, 1402, 5, 9 ], [ 1982, 10, 8, 1403, 0, 22 ], [ 1982, 10, 10, 1403, 0, 24 ], [ 1983, 5, 16, 1403, 8, 5 ], [ 1983, 5, 18, 1403, 8, 7 ], [ 1984, 0, 22, 1404, 3, 18 ], [ 1984, 0, 24, 1404, 3, 20 ], [ 1984, 7, 29, 1404, 11, 2 ], [ 1984, 7, 31, 1404, 11, 4 ], [ 1985, 3, 6, 1405, 6, 15 ], [ 1985, 3, 8, 1405, 6, 17 ], [ 1985, 10, 12, 1406, 1, 28 ], [ 1985, 10, 14, 1406, 2, 1 ], [ 1986, 5, 20, 1406, 9, 12 ], [ 1986, 5, 22, 1406, 9, 14 ], [ 1987, 0, 26, 1407, 4, 26 ], [ 1987, 0, 28, 1407, 4, 28 ], [ 1987, 8, 3, 1408, 0, 9 ], [ 1987, 8, 5, 1408, 0, 11 ], [ 1988, 3, 10, 1408, 7, 23 ], [ 1988, 3, 12, 1408, 7, 25 ], [ 1988, 10, 16, 1409, 3, 6 ], [ 1988, 10, 18, 1409, 3, 8 ], [ 1989, 5, 24, 1409, 10, 20 ], [ 1989, 5, 26, 1409, 10, 22 ], [ 1990, 0, 30, 1410, 6, 3 ], [ 1990, 1, 1, 1410, 6, 5 ], [ 1990, 8, 7, 1411, 1, 17 ], [ 1990, 8, 9, 1411, 1, 19 ], [ 1991, 3, 15, 1411, 8, 29 ], [ 1991, 3, 17, 1411, 9, 2 ], [ 1991, 10, 21, 1412, 4, 14 ], [ 1991, 10, 23, 1412, 4, 16 ], [ 1992, 5, 28, 1412, 11, 27 ], [ 1992, 5, 30, 1412, 11, 29 ], [ 1993, 1, 3, 1413, 7, 11 ], [ 1993, 1, 5, 1413, 7, 13 ], [ 1993, 8, 11, 1414, 2, 24 ], [ 1993, 8, 13, 1414, 2, 26 ], [ 1994, 3, 19, 1414, 10, 8 ], [ 1994, 3, 21, 1414, 10, 10 ], [ 1994, 10, 25, 1415, 5, 21 ], [ 1994, 10, 27, 1415, 5, 23 ], [ 1995, 6, 3, 1416, 1, 4 ], [ 1995, 6, 5, 1416, 1, 6 ], [ 1996, 1, 8, 1416, 8, 18 ], [ 1996, 1, 10, 1416, 8, 20 ], [ 1996, 8, 15, 1417, 4, 1 ], [ 1996, 8, 17, 1417, 4, 3 ], [ 1997, 3, 23, 1417, 11, 15 ], [ 1997, 3, 25, 1417, 11, 17 ], [ 1997, 10, 29, 1418, 6, 28 ], [ 1997, 11, 1, 1418, 7, 1 ], [ 1998, 6, 7, 1419, 2, 12 ], [ 1998, 6, 9, 1419, 2, 14 ], [ 1999, 1, 12, 1419, 9, 25 ], [ 1999, 1, 14, 1419, 9, 27 ], [ 1999, 8, 20, 1420, 5, 10 ], [ 1999, 8, 22, 1420, 5, 12 ], [ 2000, 3, 27, 1421, 0, 22 ], [ 2000, 3, 29, 1421, 0, 24 ], [ 2000, 11, 3, 1421, 8, 7 ], [ 2000, 11, 5, 1421, 8, 9 ], [ 2001, 6, 11, 1422, 3, 20 ], [ 2001, 6, 13, 1422, 3, 22 ], [ 2002, 1, 16, 1422, 11, 4 ], [ 2002, 1, 18, 1422, 11, 6 ], [ 2002, 8, 24, 1423, 6, 17 ], [ 2002, 8, 26, 1423, 6, 19 ], [ 2003, 4, 2, 1424, 2, 1 ], [ 2003, 4, 4, 1424, 2, 3 ], [ 2003, 11, 8, 1424, 9, 14 ], [ 2003, 11, 10, 1424, 9, 16 ], [ 2004, 6, 15, 1425, 4, 27 ], [ 2004, 6, 17, 1425, 4, 29 ], [ 2005, 1, 20, 1426, 0, 11 ], [ 2005, 1, 22, 1426, 0, 13 ], [ 2005, 8, 28, 1426, 7, 24 ], [ 2005, 8, 30, 1426, 7, 26 ], [ 2006, 4, 6, 1427, 3, 8 ], [ 2006, 4, 8, 1427, 3, 10 ], [ 2006, 11, 12, 1427, 10, 21 ], [ 2006, 11, 14, 1427, 10, 23 ], [ 2007, 6, 20, 1428, 6, 6 ], [ 2007, 6, 22, 1428, 6, 8 ], [ 2008, 1, 25, 1429, 1, 18 ], [ 2008, 1, 27, 1429, 1, 20 ], [ 2008, 9, 2, 1429, 9, 2 ], [ 2008, 9, 4, 1429, 9, 4 ], [ 2009, 4, 10, 1430, 4, 15 ], [ 2009, 4, 12, 1430, 4, 17 ], [ 2009, 11, 16, 1430, 11, 29 ], [ 2009, 11, 18, 1431, 0, 1 ], [ 2010, 6, 24, 1431, 7, 12 ], [ 2010, 6, 26, 1431, 7, 14 ], [ 2011, 2, 1, 1432, 2, 26 ], [ 2011, 2, 3, 1432, 2, 28 ], [ 2011, 9, 7, 1432, 10, 9 ], [ 2011, 9, 9, 1432, 10, 11 ], [ 2012, 4, 14, 1433, 5, 23 ], [ 2012, 4, 16, 1433, 5, 25 ], [ 2012, 11, 20, 1434, 1, 7 ], [ 2012, 11, 22, 1434, 1, 9 ], [ 2013, 6, 28, 1434, 8, 20 ], [ 2013, 6, 30, 1434, 8, 22 ], [ 2014, 2, 5, 1435, 4, 4 ], [ 2014, 2, 7, 1435, 4, 6 ], [ 2014, 9, 11, 1435, 11, 17 ], [ 2014, 9, 13, 1435, 11, 19 ], [ 2015, 4, 19, 1436, 7, 1 ], [ 2015, 4, 21, 1436, 7, 3 ], [ 2015, 11, 25, 1437, 2, 14 ], [ 2015, 11, 27, 1437, 2, 16 ], [ 2016, 7, 1, 1437, 9, 27 ], [ 2016, 7, 3, 1437, 9, 29 ], [ 2017, 2, 9, 1438, 5, 10 ], [ 2017, 2, 11, 1438, 5, 12 ], [ 2017, 9, 15, 1439, 0, 25 ], [ 2017, 9, 17, 1439, 0, 27 ], [ 2018, 4, 23, 1439, 8, 8 ], [ 2018, 4, 25, 1439, 8, 10 ], [ 2018, 11, 29, 1440, 3, 22 ], [ 2018, 11, 31, 1440, 3, 24 ], [ 2019, 7, 6, 1440, 11, 5 ], [ 2019, 7, 8, 1440, 11, 7 ], [ 2020, 2, 13, 1441, 6, 18 ], [ 2020, 2, 15, 1441, 6, 20 ], [ 2020, 9, 19, 1442, 2, 2 ], [ 2020, 9, 21, 1442, 2, 4 ], [ 2021, 4, 27, 1442, 9, 15 ], [ 2021, 4, 29, 1442, 9, 17 ], [ 2022, 0, 2, 1443, 4, 29 ], [ 2022, 0, 4, 1443, 5, 1 ], [ 2022, 7, 10, 1444, 0, 12 ], [ 2022, 7, 12, 1444, 0, 14 ], [ 2023, 2, 18, 1444, 7, 26 ], [ 2023, 2, 20, 1444, 7, 28 ], [ 2023, 9, 24, 1445, 3, 9 ], [ 2023, 9, 26, 1445, 3, 11 ], [ 2024, 4, 31, 1445, 10, 23 ], [ 2024, 5, 2, 1445, 10, 25 ], [ 2025, 0, 6, 1446, 6, 6 ], [ 2025, 0, 8, 1446, 6, 8 ], [ 2025, 7, 14, 1447, 1, 20 ], [ 2025, 7, 16, 1447, 1, 22 ], [ 2026, 2, 22, 1447, 9, 3 ], [ 2026, 2, 24, 1447, 9, 5 ], [ 2026, 9, 28, 1448, 4, 17 ], [ 2026, 9, 30, 1448, 4, 19 ], [ 2027, 5, 5, 1448, 11, 30 ], [ 2027, 5, 7, 1449, 0, 2 ], [ 2028, 0, 11, 1449, 7, 14 ], [ 2028, 0, 13, 1449, 7, 16 ], [ 2028, 7, 18, 1450, 2, 27 ], [ 2028, 7, 20, 1450, 2, 29 ], [ 2029, 2, 26, 1450, 10, 11 ], [ 2029, 2, 28, 1450, 10, 13 ], [ 2029, 10, 1, 1451, 5, 24 ], [ 2029, 10, 3, 1451, 5, 26 ], [ 2030, 5, 9, 1452, 1, 7 ], [ 2030, 5, 11, 1452, 1, 9 ], [ 2031, 0, 15, 1452, 8, 21 ], [ 2031, 0, 17, 1452, 8, 23 ], [ 2031, 7, 23, 1453, 4, 4 ], [ 2031, 7, 25, 1453, 4, 6 ], [ 2032, 2, 30, 1453, 11, 18 ], [ 2032, 3, 1, 1453, 11, 20 ], [ 2032, 10, 5, 1454, 7, 1 ], [ 2032, 10, 7, 1454, 7, 3 ], [ 2033, 5, 13, 1455, 2, 15 ], [ 2033, 5, 15, 1455, 2, 17 ], [ 2034, 0, 19, 1455, 9, 28 ], [ 2034, 0, 21, 1455, 9, 30 ], [ 2034, 7, 27, 1456, 5, 12 ], [ 2034, 7, 29, 1456, 5, 14 ], [ 2035, 3, 4, 1457, 0, 25 ], [ 2035, 3, 6, 1457, 0, 27 ], [ 2035, 10, 10, 1457, 8, 10 ], [ 2035, 10, 12, 1457, 8, 12 ], [ 2036, 5, 17, 1458, 3, 22 ], [ 2036, 5, 19, 1458, 3, 24 ], [ 2037, 0, 23, 1458, 11, 6 ], [ 2037, 0, 25, 1458, 11, 8 ], [ 2037, 7, 31, 1459, 6, 19 ], [ 2037, 8, 2, 1459, 6, 21 ], [ 2038, 3, 8, 1460, 2, 3 ], [ 2038, 3, 10, 1460, 2, 5 ], [ 2038, 10, 14, 1460, 9, 17 ], [ 2038, 10, 16, 1460, 9, 19 ], [ 2039, 5, 22, 1461, 4, 30 ], [ 2039, 5, 24, 1461, 5, 2 ], [ 2040, 0, 28, 1462, 0, 14 ], [ 2040, 0, 30, 1462, 0, 16 ], [ 2040, 8, 4, 1462, 7, 27 ], [ 2040, 8, 6, 1462, 7, 29 ], [ 2041, 3, 12, 1463, 3, 11 ], [ 2041, 3, 14, 1463, 3, 13 ], [ 2041, 10, 18, 1463, 10, 23 ], [ 2041, 10, 20, 1463, 10, 25 ], [ 2042, 5, 26, 1464, 6, 8 ], [ 2042, 5, 28, 1464, 6, 10 ], [ 2043, 1, 1, 1465, 1, 20 ], [ 2043, 1, 3, 1465, 1, 22 ], [ 2043, 8, 9, 1465, 9, 5 ], [ 2043, 8, 11, 1465, 9, 7 ], [ 2044, 3, 16, 1466, 4, 17 ], [ 2044, 3, 18, 1466, 4, 19 ], [ 2044, 10, 22, 1467, 0, 2 ], [ 2044, 10, 24, 1467, 0, 4 ], [ 2045, 5, 30, 1467, 7, 15 ], [ 2045, 6, 2, 1467, 7, 17 ], [ 2046, 1, 5, 1468, 2, 28 ], [ 2046, 1, 7, 1468, 3, 1 ], [ 2046, 8, 13, 1468, 10, 12 ], [ 2046, 8, 15, 1468, 10, 14 ], [ 2047, 3, 21, 1469, 5, 25 ], [ 2047, 3, 23, 1469, 5, 27 ], [ 2047, 10, 27, 1470, 1, 9 ], [ 2047, 10, 29, 1470, 1, 11 ], [ 2048, 6, 4, 1470, 8, 22 ], [ 2048, 6, 6, 1470, 8, 24 ], [ 2049, 1, 9, 1471, 4, 6 ], [ 2049, 1, 11, 1471, 4, 8 ], [ 2049, 8, 17, 1471, 11, 19 ], [ 2049, 8, 19, 1471, 11, 21 ], [ 2050, 3, 25, 1472, 7, 3 ], [ 2050, 3, 27, 1472, 7, 5 ], [ 2050, 11, 1, 1473, 2, 16 ], [ 2050, 11, 3, 1473, 2, 18 ], [ 2051, 6, 9, 1473, 9, 30 ], [ 2051, 6, 11, 1473, 10, 2 ], [ 2052, 1, 14, 1474, 5, 13 ], [ 2052, 1, 16, 1474, 5, 15 ], [ 2052, 8, 21, 1475, 0, 27 ], [ 2052, 8, 23, 1475, 0, 29 ], [ 2053, 3, 29, 1475, 8, 10 ], [ 2053, 4, 1, 1475, 8, 12 ], [ 2053, 11, 5, 1476, 3, 24 ], [ 2053, 11, 7, 1476, 3, 26 ], [ 2054, 6, 13, 1476, 11, 7 ], [ 2054, 6, 15, 1476, 11, 9 ], [ 2055, 1, 18, 1477, 6, 21 ], [ 2055, 1, 20, 1477, 6, 23 ], [ 2055, 8, 26, 1478, 2, 5 ], [ 2055, 8, 28, 1478, 2, 7 ], [ 2056, 4, 3, 1478, 9, 18 ], [ 2056, 4, 5, 1478, 9, 20 ], [ 2056, 11, 9, 1479, 5, 2 ], [ 2056, 11, 11, 1479, 5, 4 ], [ 2057, 6, 17, 1480, 0, 15 ], [ 2057, 6, 19, 1480, 0, 17 ], [ 2058, 1, 22, 1480, 7, 28 ], [ 2058, 1, 24, 1480, 8, 1 ], [ 2058, 8, 30, 1481, 3, 12 ], [ 2058, 9, 2, 1481, 3, 14 ], [ 2059, 4, 8, 1481, 10, 25 ], [ 2059, 4, 10, 1481, 10, 27 ], [ 2059, 11, 14, 1482, 6, 8 ], [ 2059, 11, 16, 1482, 6, 10 ], [ 2060, 6, 21, 1483, 1, 23 ], [ 2060, 6, 23, 1483, 1, 25 ], [ 2061, 1, 26, 1483, 9, 5 ], [ 2061, 1, 28, 1483, 9, 7 ], [ 2061, 9, 4, 1484, 4, 20 ], [ 2061, 9, 6, 1484, 4, 22 ], [ 2062, 4, 12, 1485, 0, 3 ], [ 2062, 4, 14, 1485, 0, 5 ], [ 2062, 11, 18, 1485, 7, 16 ], [ 2062, 11, 20, 1485, 7, 18 ], [ 2063, 6, 26, 1486, 2, 29 ], [ 2063, 6, 28, 1486, 3, 2 ], [ 2064, 2, 2, 1486, 10, 13 ], [ 2064, 2, 4, 1486, 10, 15 ], [ 2064, 9, 8, 1487, 5, 26 ], [ 2064, 9, 10, 1487, 5, 28 ], [ 2065, 4, 16, 1488, 1, 10 ], [ 2065, 4, 18, 1488, 1, 12 ], [ 2065, 11, 22, 1488, 8, 24 ], [ 2065, 11, 24, 1488, 8, 26 ], [ 2066, 6, 30, 1489, 4, 7 ], [ 2066, 7, 1, 1489, 4, 9 ], [ 2067, 2, 7, 1489, 11, 21 ], [ 2067, 2, 9, 1489, 11, 23 ], [ 2067, 9, 13, 1490, 7, 4 ], [ 2067, 9, 15, 1490, 7, 6 ], [ 2068, 4, 20, 1491, 2, 18 ], [ 2068, 4, 22, 1491, 2, 20 ], [ 2068, 11, 26, 1491, 10, 1 ], [ 2068, 11, 28, 1491, 10, 3 ], [ 2069, 7, 3, 1492, 5, 15 ], [ 2069, 7, 5, 1492, 5, 17 ], [ 2070, 2, 11, 1493, 0, 28 ], [ 2070, 2, 13, 1493, 0, 30 ], [ 2070, 9, 17, 1493, 8, 12 ], [ 2070, 9, 19, 1493, 8, 14 ], [ 2071, 4, 25, 1494, 3, 25 ], [ 2071, 4, 27, 1494, 3, 27 ], [ 2071, 11, 31, 1494, 11, 9 ], [ 2072, 0, 2, 1494, 11, 11 ], [ 2072, 7, 7, 1495, 6, 22 ], [ 2072, 7, 9, 1495, 6, 24 ], [ 2073, 2, 15, 1496, 2, 6 ], [ 2073, 2, 17, 1496, 2, 8 ], [ 2073, 9, 21, 1496, 9, 19 ], [ 2073, 9, 23, 1496, 9, 21 ], [ 2074, 4, 29, 1497, 5, 3 ], [ 2074, 4, 31, 1497, 5, 5 ], [ 2075, 0, 4, 1498, 0, 16 ], [ 2075, 0, 6, 1498, 0, 18 ], [ 2075, 7, 12, 1498, 7, 29 ], [ 2075, 7, 14, 1498, 8, 2 ], [ 2076, 2, 19, 1499, 3, 13 ], [ 2076, 2, 21, 1499, 3, 15 ], [ 2076, 9, 25, 1499, 10, 27 ], [ 2076, 9, 27, 1499, 10, 29 ], [ 2077, 5, 2, 1500, 6, 11 ], [ 2077, 5, 4, 1500, 6, 13 ], [ 2078, 0, 8, 1501, 1, 23 ], [ 2078, 0, 10, 1501, 1, 25 ], [ 2078, 7, 16, 1501, 9, 8 ], [ 2078, 7, 18, 1501, 9, 10 ], [ 2079, 2, 24, 1502, 4, 20 ], [ 2079, 2, 26, 1502, 4, 22 ], [ 2079, 9, 30, 1503, 0, 5 ], [ 2079, 10, 1, 1503, 0, 7 ], [ 2080, 5, 6, 1503, 7, 17 ], [ 2080, 5, 8, 1503, 7, 19 ], [ 2081, 0, 12, 1504, 3, 2 ], [ 2081, 0, 14, 1504, 3, 4 ], [ 2081, 7, 20, 1504, 10, 15 ], [ 2081, 7, 22, 1504, 10, 17 ], [ 2082, 2, 28, 1505, 5, 28 ], [ 2082, 2, 30, 1505, 5, 30 ], [ 2082, 10, 3, 1506, 1, 12 ], [ 2082, 10, 5, 1506, 1, 14 ], [ 2083, 5, 11, 1506, 8, 25 ], [ 2083, 5, 13, 1506, 8, 27 ], [ 2084, 0, 17, 1507, 4, 9 ], [ 2084, 0, 19, 1507, 4, 11 ], [ 2084, 7, 24, 1507, 11, 22 ], [ 2084, 7, 26, 1507, 11, 24 ], [ 2085, 3, 1, 1508, 7, 6 ], [ 2085, 3, 3, 1508, 7, 8 ], [ 2085, 10, 7, 1509, 2, 19 ], [ 2085, 10, 9, 1509, 2, 21 ], [ 2086, 5, 15, 1509, 10, 3 ], [ 2086, 5, 17, 1509, 10, 5 ], [ 2087, 0, 21, 1510, 5, 16 ], [ 2087, 0, 23, 1510, 5, 18 ], [ 2087, 7, 29, 1511, 0, 30 ], [ 2087, 7, 31, 1511, 1, 2 ], [ 2088, 3, 5, 1511, 8, 13 ], [ 2088, 3, 7, 1511, 8, 15 ], [ 2088, 10, 11, 1512, 3, 27 ], [ 2088, 10, 13, 1512, 3, 29 ], [ 2089, 5, 19, 1512, 11, 10 ], [ 2089, 5, 21, 1512, 11, 12 ], [ 2090, 0, 25, 1513, 6, 24 ], [ 2090, 0, 27, 1513, 6, 26 ], [ 2090, 8, 2, 1514, 2, 7 ], [ 2090, 8, 4, 1514, 2, 9 ], [ 2091, 3, 10, 1514, 9, 21 ], [ 2091, 3, 12, 1514, 9, 23 ], [ 2091, 10, 16, 1515, 5, 5 ], [ 2091, 10, 18, 1515, 5, 7 ], [ 2092, 5, 23, 1516, 0, 17 ], [ 2092, 5, 25, 1516, 0, 19 ], [ 2093, 0, 29, 1516, 8, 2 ], [ 2093, 0, 31, 1516, 8, 4 ], [ 2093, 8, 6, 1517, 3, 15 ], [ 2093, 8, 8, 1517, 3, 17 ], [ 2094, 3, 14, 1517, 10, 28 ], [ 2094, 3, 16, 1517, 11, 1 ], [ 2094, 10, 20, 1518, 6, 12 ], [ 2094, 10, 22, 1518, 6, 14 ], [ 2095, 5, 28, 1519, 1, 25 ], [ 2095, 5, 30, 1519, 1, 27 ], [ 2096, 1, 3, 1519, 9, 8 ], [ 2096, 1, 5, 1519, 9, 10 ], [ 2096, 8, 10, 1520, 4, 23 ], [ 2096, 8, 12, 1520, 4, 25 ], [ 2097, 3, 18, 1521, 0, 5 ], [ 2097, 3, 20, 1521, 0, 7 ], [ 2097, 10, 24, 1521, 7, 19 ], [ 2097, 10, 26, 1521, 7, 21 ], [ 2098, 6, 2, 1522, 3, 3 ], [ 2098, 6, 4, 1522, 3, 5 ], [ 2099, 1, 7, 1522, 10, 16 ], [ 2099, 1, 9, 1522, 10, 18 ], [ 2099, 8, 15, 1523, 5, 29 ], [ 2099, 8, 17, 1523, 6, 2 ], [ 2100, 3, 23, 1524, 1, 13 ], [ 2100, 3, 25, 1524, 1, 15 ], [ 2100, 10, 29, 1524, 8, 26 ], [ 2100, 11, 1, 1524, 8, 28 ], [ 2101, 6, 7, 1525, 4, 10 ], [ 2101, 6, 9, 1525, 4, 12 ], [ 2102, 1, 12, 1525, 11, 24 ], [ 2102, 1, 14, 1525, 11, 26 ], [ 2102, 8, 20, 1526, 7, 7 ], [ 2102, 8, 22, 1526, 7, 9 ], [ 2103, 3, 28, 1527, 2, 21 ], [ 2103, 3, 30, 1527, 2, 23 ], [ 2103, 11, 4, 1527, 10, 4 ], [ 2103, 11, 6, 1527, 10, 6 ], [ 2104, 6, 11, 1528, 5, 18 ], [ 2104, 6, 13, 1528, 5, 20 ], [ 2105, 1, 16, 1529, 1, 1 ], [ 2105, 1, 18, 1529, 1, 3 ], [ 2105, 8, 24, 1529, 8, 15 ], [ 2105, 8, 26, 1529, 8, 17 ], [ 2106, 4, 2, 1530, 3, 27 ], [ 2106, 4, 4, 1530, 3, 29 ], [ 2106, 11, 8, 1530, 11, 12 ], [ 2106, 11, 10, 1530, 11, 14 ], [ 2107, 6, 16, 1531, 6, 25 ], [ 2107, 6, 18, 1531, 6, 27 ], [ 2108, 1, 21, 1532, 2, 9 ], [ 2108, 1, 23, 1532, 2, 11 ], [ 2108, 8, 28, 1532, 9, 22 ], [ 2108, 8, 30, 1532, 9, 24 ], [ 2109, 4, 6, 1533, 5, 5 ], [ 2109, 4, 8, 1533, 5, 7 ], [ 2109, 11, 12, 1534, 0, 19 ], [ 2109, 11, 14, 1534, 0, 21 ], [ 2110, 6, 20, 1534, 8, 2 ], [ 2110, 6, 22, 1534, 8, 4 ], [ 2111, 1, 25, 1535, 3, 16 ], [ 2111, 1, 27, 1535, 3, 18 ], [ 2111, 9, 3, 1535, 10, 29 ], [ 2111, 9, 5, 1535, 11, 2 ], [ 2112, 4, 10, 1536, 6, 13 ], [ 2112, 4, 12, 1536, 6, 15 ], [ 2112, 11, 16, 1537, 1, 26 ], [ 2112, 11, 18, 1537, 1, 28 ], [ 2113, 6, 24, 1537, 9, 11 ], [ 2113, 6, 26, 1537, 9, 13 ], [ 2114, 2, 1, 1538, 4, 23 ], [ 2114, 2, 3, 1538, 4, 25 ], [ 2114, 9, 7, 1539, 0, 8 ], [ 2114, 9, 9, 1539, 0, 10 ], [ 2115, 4, 15, 1539, 7, 20 ], [ 2115, 4, 17, 1539, 7, 22 ], [ 2115, 11, 21, 1540, 3, 4 ], [ 2115, 11, 23, 1540, 3, 6 ], [ 2116, 6, 28, 1540, 10, 18 ], [ 2116, 6, 30, 1540, 10, 20 ], [ 2117, 2, 5, 1541, 6, 1 ], [ 2117, 2, 7, 1541, 6, 3 ], [ 2117, 9, 11, 1542, 1, 15 ], [ 2117, 9, 13, 1542, 1, 17 ], [ 2118, 4, 19, 1542, 8, 28 ], [ 2118, 4, 21, 1542, 8, 30 ], [ 2118, 11, 25, 1543, 4, 12 ], [ 2118, 11, 27, 1543, 4, 14 ], [ 2119, 7, 2, 1543, 11, 25 ], [ 2119, 7, 4, 1543, 11, 27 ], [ 2120, 2, 9, 1544, 7, 9 ], [ 2120, 2, 11, 1544, 7, 11 ], [ 2120, 9, 15, 1545, 2, 21 ], [ 2120, 9, 17, 1545, 2, 23 ], [ 2121, 4, 23, 1545, 10, 6 ], [ 2121, 4, 25, 1545, 10, 8 ], [ 2121, 11, 29, 1546, 5, 19 ], [ 2121, 11, 31, 1546, 5, 21 ], [ 2122, 7, 6, 1547, 1, 3 ], [ 2122, 7, 8, 1547, 1, 5 ], [ 2123, 2, 14, 1547, 8, 16 ], [ 2123, 2, 16, 1547, 8, 18 ], [ 2123, 9, 20, 1548, 3, 30 ], [ 2123, 9, 22, 1548, 4, 2 ], [ 2124, 4, 27, 1548, 11, 13 ], [ 2124, 4, 29, 1548, 11, 15 ], [ 2125, 0, 2, 1549, 6, 27 ], [ 2125, 0, 4, 1549, 6, 29 ], [ 2125, 7, 10, 1550, 2, 10 ], [ 2125, 7, 12, 1550, 2, 12 ], [ 2126, 2, 18, 1550, 9, 23 ], [ 2126, 2, 20, 1550, 9, 25 ], [ 2126, 9, 24, 1551, 5, 7 ], [ 2126, 9, 26, 1551, 5, 9 ], [ 2127, 5, 1, 1552, 0, 20 ], [ 2127, 5, 3, 1552, 0, 22 ], [ 2128, 0, 7, 1552, 8, 5 ], [ 2128, 0, 9, 1552, 8, 7 ], [ 2128, 7, 14, 1553, 3, 17 ], [ 2128, 7, 16, 1553, 3, 19 ], [ 2129, 2, 22, 1553, 11, 1 ], [ 2129, 2, 24, 1553, 11, 3 ], [ 2129, 9, 28, 1554, 6, 14 ], [ 2129, 9, 30, 1554, 6, 16 ], [ 2130, 5, 5, 1555, 1, 28 ], [ 2130, 5, 7, 1555, 2, 1 ], [ 2131, 0, 11, 1555, 9, 11 ], [ 2131, 0, 13, 1555, 9, 13 ], [ 2131, 7, 19, 1556, 4, 25 ], [ 2131, 7, 21, 1556, 4, 27 ], [ 2132, 2, 26, 1557, 0, 8 ], [ 2132, 2, 28, 1557, 0, 10 ], [ 2132, 10, 1, 1557, 7, 23 ], [ 2132, 10, 3, 1557, 7, 25 ], [ 2133, 5, 9, 1558, 3, 5 ], [ 2133, 5, 11, 1558, 3, 7 ], [ 2134, 0, 15, 1558, 10, 19 ], [ 2134, 0, 17, 1558, 10, 21 ], [ 2134, 7, 23, 1559, 6, 3 ], [ 2134, 7, 25, 1559, 6, 5 ], [ 2135, 2, 31, 1560, 1, 16 ], [ 2135, 3, 2, 1560, 1, 18 ], [ 2135, 10, 6, 1560, 8, 29 ], [ 2135, 10, 8, 1560, 9, 2 ], [ 2136, 5, 13, 1561, 4, 13 ], [ 2136, 5, 15, 1561, 4, 15 ], [ 2137, 0, 19, 1561, 11, 26 ], [ 2137, 0, 21, 1561, 11, 28 ], [ 2137, 7, 27, 1562, 7, 10 ], [ 2137, 7, 29, 1562, 7, 12 ], [ 2138, 3, 4, 1563, 2, 23 ], [ 2138, 3, 6, 1563, 2, 25 ], [ 2138, 10, 10, 1563, 10, 7 ], [ 2138, 10, 12, 1563, 10, 9 ], [ 2139, 5, 18, 1564, 5, 21 ], [ 2139, 5, 20, 1564, 5, 23 ], [ 2140, 0, 24, 1565, 1, 4 ], [ 2140, 0, 26, 1565, 1, 6 ], [ 2140, 7, 31, 1565, 8, 18 ], [ 2140, 8, 2, 1565, 8, 20 ], [ 2141, 3, 8, 1566, 4, 1 ], [ 2141, 3, 10, 1566, 4, 3 ], [ 2141, 10, 14, 1566, 11, 15 ], [ 2141, 10, 16, 1566, 11, 17 ], [ 2142, 5, 22, 1567, 6, 27 ], [ 2142, 5, 24, 1567, 6, 29 ], [ 2143, 0, 28, 1568, 2, 12 ], [ 2143, 0, 30, 1568, 2, 14 ], [ 2143, 8, 5, 1568, 9, 24 ], [ 2143, 8, 7, 1568, 9, 26 ], [ 2144, 3, 12, 1569, 5, 8 ], [ 2144, 3, 14, 1569, 5, 10 ], [ 2144, 10, 18, 1570, 0, 22 ], [ 2144, 10, 20, 1570, 0, 24 ], [ 2145, 5, 26, 1570, 8, 5 ], [ 2145, 5, 28, 1570, 8, 7 ], [ 2146, 1, 1, 1571, 3, 19 ], [ 2146, 1, 3, 1571, 3, 21 ], [ 2146, 8, 9, 1571, 11, 2 ], [ 2146, 8, 11, 1571, 11, 4 ], [ 2147, 3, 17, 1572, 6, 16 ], [ 2147, 3, 19, 1572, 6, 18 ], [ 2147, 10, 23, 1573, 1, 29 ], [ 2147, 10, 25, 1573, 2, 2 ], [ 2148, 5, 30, 1573, 9, 13 ], [ 2148, 6, 2, 1573, 9, 15 ], [ 2149, 1, 5, 1574, 4, 26 ], [ 2149, 1, 7, 1574, 4, 28 ], [ 2149, 8, 13, 1575, 0, 11 ], [ 2149, 8, 15, 1575, 0, 13 ], [ 2150, 3, 21, 1575, 7, 23 ], [ 2150, 3, 23, 1575, 7, 25 ], [ 2150, 10, 27, 1576, 3, 7 ], [ 2150, 10, 29, 1576, 3, 9 ], [ 2151, 6, 5, 1576, 10, 20 ], [ 2151, 6, 7, 1576, 10, 22 ], [ 2152, 1, 10, 1577, 6, 4 ], [ 2152, 1, 12, 1577, 6, 6 ], [ 2152, 8, 17, 1578, 1, 18 ], [ 2152, 8, 19, 1578, 1, 20 ], [ 2153, 3, 25, 1578, 9, 1 ], [ 2153, 3, 27, 1578, 9, 3 ], [ 2153, 11, 1, 1579, 4, 14 ], [ 2153, 11, 3, 1579, 4, 16 ], [ 2154, 6, 9, 1579, 11, 28 ], [ 2154, 6, 11, 1579, 11, 30 ], [ 2155, 1, 14, 1580, 7, 12 ], [ 2155, 1, 16, 1580, 7, 14 ], [ 2155, 8, 22, 1581, 2, 24 ], [ 2155, 8, 24, 1581, 2, 26 ], [ 2156, 3, 29, 1581, 10, 9 ], [ 2156, 4, 1, 1581, 10, 11 ], [ 2156, 11, 5, 1582, 5, 21 ], [ 2156, 11, 7, 1582, 5, 23 ], [ 2157, 6, 13, 1583, 1, 6 ], [ 2157, 6, 15, 1583, 1, 8 ], [ 2158, 1, 18, 1583, 8, 18 ], [ 2158, 1, 20, 1583, 8, 20 ], [ 2158, 8, 26, 1584, 4, 3 ], [ 2158, 8, 28, 1584, 4, 5 ], [ 2159, 4, 4, 1584, 11, 15 ], [ 2159, 4, 6, 1584, 11, 17 ], [ 2159, 11, 10, 1585, 6, 29 ], [ 2159, 11, 12, 1585, 7, 2 ], [ 2160, 6, 17, 1586, 2, 13 ], [ 2160, 6, 19, 1586, 2, 15 ], [ 2161, 1, 22, 1586, 9, 26 ], [ 2161, 1, 24, 1586, 9, 28 ], [ 2161, 8, 30, 1587, 5, 10 ], [ 2161, 9, 2, 1587, 5, 12 ], [ 2162, 4, 8, 1588, 0, 23 ], [ 2162, 4, 10, 1588, 0, 25 ], [ 2162, 11, 14, 1588, 8, 7 ], [ 2162, 11, 16, 1588, 8, 9 ], [ 2163, 6, 22, 1589, 3, 20 ], [ 2163, 6, 24, 1589, 3, 22 ], [ 2164, 1, 27, 1589, 11, 4 ], [ 2164, 1, 29, 1589, 11, 6 ], [ 2164, 9, 4, 1590, 6, 17 ], [ 2164, 9, 6, 1590, 6, 19 ], [ 2165, 4, 12, 1591, 2, 1 ], [ 2165, 4, 14, 1591, 2, 3 ], [ 2165, 11, 18, 1591, 9, 14 ], [ 2165, 11, 20, 1591, 9, 16 ], [ 2166, 6, 26, 1592, 4, 28 ], [ 2166, 6, 28, 1592, 4, 30 ], [ 2167, 2, 3, 1593, 0, 11 ], [ 2167, 2, 5, 1593, 0, 13 ], [ 2167, 9, 9, 1593, 7, 25 ], [ 2167, 9, 11, 1593, 7, 27 ], [ 2168, 4, 16, 1594, 3, 8 ], [ 2168, 4, 18, 1594, 3, 10 ], [ 2168, 11, 22, 1594, 10, 22 ], [ 2168, 11, 24, 1594, 10, 24 ], [ 2169, 6, 30, 1595, 6, 6 ], [ 2169, 7, 1, 1595, 6, 8 ], [ 2170, 2, 7, 1596, 1, 19 ], [ 2170, 2, 9, 1596, 1, 21 ], [ 2170, 9, 13, 1596, 9, 3 ], [ 2170, 9, 15, 1596, 9, 5 ], [ 2171, 4, 21, 1597, 4, 16 ], [ 2171, 4, 23, 1597, 4, 18 ], [ 2171, 11, 27, 1597, 11, 29 ], [ 2171, 11, 29, 1598, 0, 2 ], [ 2172, 7, 3, 1598, 7, 13 ], [ 2172, 7, 5, 1598, 7, 15 ], [ 2173, 2, 11, 1599, 2, 26 ], [ 2173, 2, 13, 1599, 2, 28 ], [ 2173, 9, 17, 1599, 10, 9 ], [ 2173, 9, 19, 1599, 10, 11 ], [ 2174, 4, 25, 1600, 5, 23 ], [ 2174, 4, 27, 1600, 5, 25 ] ]; var idate, gdate; var dateIslamic; var diff; dojo.forEach(dates, function (d, i) { idate = new dojox.date.umalqura.Date(d[3], d[4], d[5]); gdate = new Date(d[0], d[1], d[2]); t.is(0, dojo.date.compare(idate.toGregorian(), gdate, "date")); dateIslamic = new dojox.date.umalqura.Date(); dateIslamic.fromGregorian(gdate); diff = dojox.date.umalqura.compare(dateIslamic, idate, "date"); var errorMsg = "year: " + d[3] + " month: " + d[4] + " day: " + d[5] + ","; var yearDiff = dateIslamic.getFullYear() - idate.getFullYear(); t.is(dateIslamic.getFullYear(), idate.getFullYear(), "error at year " + errorMsg); var monthDiff = dateIslamic.getMonth() - idate.getMonth(); t.is(0, monthDiff, "error at month " + errorMsg); var dayDiff = dateIslamic.getDate() - idate.getDate(); t.is(0, dayDiff, "error at day " + errorMsg + dateIslamic); }); } }, { name: "fromGregorian", runTest: function (t) { var dateIslamic = new dojox.date.umalqura.Date(); var dateGregorian = new Date(2010, 2, 22); var iDate, gDate; dateIslamic.fromGregorian(dateGregorian); var inputDate = new dojox.date.umalqura.Date(1431, 3, 6); t.is(0, dojox.date.umalqura.compare(inputDate, dateIslamic, "date")); t.is(0, dojo.date.compare(new Date(2010, 2, 22), dateGregorian, "date")); var dates = [ [ 1882, 10, 12, 1300, 0, 1 ], [ 1882, 10, 14, 1300, 0, 3 ], [ 1883, 5, 20, 1300, 7, 14 ], [ 1883, 5, 22, 1300, 7, 16 ], [ 1884, 0, 26, 1301, 2, 27 ], [ 1884, 0, 28, 1301, 2, 29 ], [ 1884, 8, 2, 1301, 10, 11 ], [ 1884, 8, 4, 1301, 10, 13 ], [ 1885, 3, 10, 1302, 5, 24 ], [ 1885, 3, 12, 1302, 5, 26 ], [ 1885, 10, 16, 1303, 1, 9 ], [ 1885, 10, 18, 1303, 1, 11 ], [ 1886, 5, 24, 1303, 8, 21 ], [ 1886, 5, 26, 1303, 8, 23 ], [ 1887, 0, 30, 1304, 4, 6 ], [ 1887, 1, 1, 1304, 4, 8 ], [ 1887, 8, 7, 1304, 11, 18 ], [ 1887, 8, 9, 1304, 11, 20 ], [ 1888, 3, 14, 1305, 7, 2 ], [ 1888, 3, 16, 1305, 7, 4 ], [ 1888, 10, 20, 1306, 2, 16 ], [ 1888, 10, 22, 1306, 2, 18 ], [ 1889, 5, 28, 1306, 9, 29 ], [ 1889, 5, 30, 1306, 10, 1 ], [ 1890, 1, 3, 1307, 5, 13 ], [ 1890, 1, 5, 1307, 5, 15 ], [ 1890, 8, 11, 1308, 0, 26 ], [ 1890, 8, 13, 1308, 0, 28 ], [ 1891, 3, 19, 1308, 8, 10 ], [ 1891, 3, 21, 1308, 8, 12 ], [ 1891, 10, 25, 1309, 3, 23 ], [ 1891, 10, 27, 1309, 3, 25 ], [ 1892, 6, 2, 1309, 11, 7 ], [ 1892, 6, 4, 1309, 11, 9 ], [ 1893, 1, 7, 1310, 6, 20 ], [ 1893, 1, 9, 1310, 6, 22 ], [ 1893, 8, 15, 1311, 2, 4 ], [ 1893, 8, 17, 1311, 2, 6 ], [ 1894, 3, 23, 1311, 9, 17 ], [ 1894, 3, 25, 1311, 9, 19 ], [ 1894, 10, 29, 1312, 5, 1 ], [ 1894, 11, 1, 1312, 5, 3 ], [ 1895, 6, 7, 1313, 0, 14 ], [ 1895, 6, 9, 1313, 0, 16 ], [ 1896, 1, 12, 1313, 7, 28 ], [ 1896, 1, 14, 1313, 7, 30 ], [ 1896, 8, 19, 1314, 3, 11 ], [ 1896, 8, 21, 1314, 3, 13 ], [ 1897, 3, 27, 1314, 10, 24 ], [ 1897, 3, 29, 1314, 10, 26 ], [ 1897, 11, 3, 1315, 6, 8 ], [ 1897, 11, 5, 1315, 6, 10 ], [ 1898, 6, 11, 1316, 1, 22 ], [ 1898, 6, 13, 1316, 1, 24 ], [ 1899, 1, 16, 1316, 9, 5 ], [ 1899, 1, 18, 1316, 9, 7 ], [ 1899, 8, 24, 1317, 4, 18 ], [ 1899, 8, 26, 1317, 4, 20 ], [ 1900, 4, 2, 1318, 0, 3 ], [ 1900, 4, 4, 1318, 0, 5 ], [ 1900, 11, 8, 1318, 7, 15 ], [ 1900, 11, 10, 1318, 7, 17 ], [ 1901, 6, 16, 1319, 2, 29 ], [ 1901, 6, 18, 1319, 3, 2 ], [ 1902, 1, 21, 1319, 10, 12 ], [ 1902, 1, 23, 1319, 10, 14 ], [ 1902, 8, 29, 1320, 5, 26 ], [ 1902, 9, 1, 1320, 5, 28 ], [ 1903, 4, 7, 1321, 1, 9 ], [ 1903, 4, 9, 1321, 1, 11 ], [ 1903, 11, 13, 1321, 8, 24 ], [ 1903, 11, 15, 1321, 8, 26 ], [ 1904, 6, 20, 1322, 4, 6 ], [ 1904, 6, 22, 1322, 4, 8 ], [ 1905, 1, 25, 1322, 11, 20 ], [ 1905, 1, 27, 1322, 11, 22 ], [ 1905, 9, 3, 1323, 7, 4 ], [ 1905, 9, 5, 1323, 7, 6 ], [ 1906, 4, 11, 1324, 2, 17 ], [ 1906, 4, 13, 1324, 2, 19 ], [ 1906, 11, 17, 1324, 10, 1 ], [ 1906, 11, 19, 1324, 10, 3 ], [ 1907, 6, 25, 1325, 5, 14 ], [ 1907, 6, 27, 1325, 5, 16 ], [ 1908, 2, 1, 1326, 0, 27 ], [ 1908, 2, 3, 1326, 0, 29 ], [ 1908, 9, 7, 1326, 8, 11 ], [ 1908, 9, 9, 1326, 8, 13 ], [ 1909, 4, 15, 1327, 3, 25 ], [ 1909, 4, 17, 1327, 3, 27 ], [ 1909, 11, 21, 1327, 11, 8 ], [ 1909, 11, 23, 1327, 11, 10 ], [ 1910, 6, 29, 1328, 6, 22 ], [ 1910, 6, 31, 1328, 6, 24 ], [ 1911, 2, 6, 1329, 2, 5 ], [ 1911, 2, 8, 1329, 2, 7 ], [ 1911, 9, 12, 1329, 9, 19 ], [ 1911, 9, 14, 1329, 9, 21 ], [ 1912, 4, 19, 1330, 5, 2 ], [ 1912,