Skip to content

Commit fbea7f7

Browse files
committed
add jasmine tests
1 parent 9d848c8 commit fbea7f7

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

test/jasmine/tests/lib_date_test.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,52 @@ describe('dates', function() {
368368
expect(Lib.dateTime2ms(v, 'chinese')).toBeUndefined(v);
369369
});
370370
});
371+
372+
it('Persian calendar should convert right values', function() {
373+
var leapYears = [
374+
479, 483, 487, 491, 495, 499,
375+
503, 508, 512, 516, 520, 524, 528, 532, 536, 541, 545, 549, 553, 557, 561, 565, 569, 574, 578, 582, 586, 590, 594, 598,
376+
602, 607, 611, 615, 619, 623, 627, 631, 636, 640, 644, 648, 652, 656, 660, 664, 669, 673, 677, 681, 685, 689, 693, 697,
377+
702, 706, 710, 714, 718, 722, 726, 730, 735, 739, 743, 747, 751, 755, 759, 764, 768, 772, 776, 780, 784, 788, 792, 797,
378+
801, 805, 809, 813, 817, 821, 825, 830, 834, 838, 842, 846, 850, 854, 858, 863, 867, 871, 875, 879, 883, 887, 892, 896,
379+
900, 904, 908, 912, 916, 920, 925, 929, 933, 937, 941, 945, 949, 953, 958, 962, 966, 970, 974, 978, 982, 986, 991, 995, 999,
380+
1003, 1007, 1011, 1015, 1020, 1024, 1028, 1032, 1036, 1040, 1044, 1048, 1053, 1057, 1061, 1065, 1069, 1073, 1077, 1081, 1086, 1090, 1094, 1098,
381+
1102, 1106, 1110, 1114, 1119, 1123, 1127, 1131, 1135, 1139, 1143, 1148, 1152, 1156, 1160, 1164, 1168, 1172, 1176, 1181, 1185, 1189, 1193, 1197,
382+
1201, 1205, 1209, 1214, 1218, 1222, 1226, 1230, 1234, 1238, 1242, 1247, 1251, 1255, 1259, 1263, 1267, 1271, 1276, 1280, 1284, 1288, 1292, 1296,
383+
1300, 1304, 1309, 1313, 1317, 1321, 1325, 1329, 1333, 1337, 1342, 1346, 1350, 1354, 1358, 1362, 1366, 1370, 1375, 1379, 1383, 1387, 1391, 1395, 1399,
384+
1403, 1408, 1412, 1416, 1420, 1424, 1428, 1432, 1437, 1441, 1445, 1449, 1453, 1457, 1461, 1465, 1470, 1474, 1478, 1482, 1486, 1490, 1494, 1498,
385+
1503, 1507, 1511, 1515, 1519, 1523
386+
];
387+
388+
var tests, time;
389+
390+
for(var y = 1348; y < 1525; y++) {
391+
if(y === 0) continue;
392+
for(var m = 1; m <= 12; m++) {
393+
for(var d = 1; d <= (m < 7 ? 31 : 30); d++) {
394+
if(d === 30 && m === 12 && leapYears.indexOf(y) !== -1) continue;
395+
396+
if(y === 1348 && m === 10 && d === 11) { // start of unix time in Persian calendar
397+
tests = [];
398+
time = 0;
399+
}
400+
401+
if(tests) {
402+
tests.push([[y, m, d].join('-'), time]);
403+
time += 86400000;
404+
}
405+
}
406+
}
407+
}
408+
409+
tests.forEach(function(v) {
410+
var calendar = 'persian';
411+
var dateStr = v[0];
412+
var ms = v[1];
413+
expect(Lib.ms2DateTime(ms, 0, calendar)).toBe(dateStr);
414+
expect(Lib.dateTime2ms(dateStr, calendar)).toBe(ms);
415+
});
416+
});
371417
});
372418

373419
describe('cleanDate', function() {

0 commit comments

Comments
 (0)