Skip to content

Commit 2b0c787

Browse files
authored
Merge pull request #394 from iLib-js/updateTcs
Update test cases to use node's cldr version info
2 parents 870475c + cad4b43 commit 2b0c787

File tree

6 files changed

+114
-88
lines changed

6 files changed

+114
-88
lines changed

js/test/date/testdatefmt.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3998,10 +3998,14 @@ module.exports.testdatefmt = {
39983998
var result = DateFmt.isIntlDateTimeAvailable("ko-KR");
39993999

40004000
if(ilib._getPlatform() === "nodejs") {
4001-
var version = process.versions["node"];
4002-
var majorVersion = version.split(".")[0];
4003-
if (majorVersion == "8" || majorVersion == "10" || majorVersion == "12") {
4004-
test.equal(result, false);
4001+
var cldrVersion = Number(process.versions["cldr"]);
4002+
var nodeMajorVersion = process.versions["node"].split(".")[0];
4003+
if (cldrVersion < 38) {
4004+
if (nodeMajorVersion === "14") {
4005+
test.equal(result, true);
4006+
} else {
4007+
test.equal(result, false);
4008+
}
40054009
} else {
40064010
test.equal(result, true);
40074011
}

js/test/date/testdatefmt_en_GB.js

Lines changed: 62 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,20 @@ module.exports.testdatefmt_en_GB = {
145145
});
146146

147147
if(ilib._getPlatform() === "nodejs"){
148-
var version = process.versions["node"];
149-
var majorVersion = version.split(".")[0];
150-
if (majorVersion == "8" || majorVersion == "10") {
148+
var cldrVersion = Number(process.versions["cldr"]);
149+
var nodeMajorVersion = process.versions["node"].split(".")[0];
150+
if (cldrVersion < 36) {
151151
test.equal(fmt.format(date), "9/29/2011");
152-
} else if (majorVersion == "12") {
153-
test.equal(fmt.format(date), "9/29/11");
152+
} else if (cldrVersion < 38) {
153+
/*
154+
* Both node v12.16.1 and v14.16.1 say the cldr version is 37.0.
155+
* But it returns a different result.
156+
*/
157+
if (nodeMajorVersion === "14") {
158+
test.equal(fmt.format(date), "29/09/2011");
159+
} else {
160+
test.equal(fmt.format(date), "9/29/11");
161+
}
154162
} else {
155163
test.equal(fmt.format(date), "29/09/2011");
156164
}
@@ -181,20 +189,23 @@ module.exports.testdatefmt_en_GB = {
181189
});
182190

183191
if(ilib._getPlatform() === "nodejs"){
184-
var version = process.versions["node"];
185-
var majorVersion = version.split(".")[0];
192+
var cldrVersion = Number(process.versions["cldr"]);
193+
var nodeMajorVersion = process.versions["node"].split(".")[0];
186194
//console.log("version: " + version + " majorVersion: " + majorVersion);
187-
if (majorVersion == "8" || majorVersion == "10") {
195+
if (cldrVersion < 36) {
188196
test.equal(fmt.format(date), "9/29/2011");
189-
} else if (majorVersion == "12") {
190-
test.equal(fmt.format(date), "Sep 29, 2011");
191-
} else if (version == "14.18.2"){
197+
} else if(cldrVersion < 38) {
198+
if (nodeMajorVersion === "14") {
199+
test.equal(fmt.format(date), "29 Sep 2011");
200+
} else {
201+
test.equal(fmt.format(date), "Sep 29, 2011");
202+
}
203+
} else if(cldrVersion < 39){
192204
test.equal(fmt.format(date), "29 Sept 2011");
193-
}
194-
else if (majorVersion == "16"){
205+
} else if(cldrVersion < 41){
195206
test.equal(fmt.format(date), "29 Sept 2011");
196207
} else {
197-
test.equal(fmt.format(date), "29 Sep 2011");
208+
test.equal(fmt.format(date), "29 Sep 2011");
198209
}
199210
} else {
200211
test.equal(fmt.format(date), "29 Sept 2011");
@@ -222,12 +233,17 @@ module.exports.testdatefmt_en_GB = {
222233
});
223234

224235
if(ilib._getPlatform() === "nodejs"){
225-
var version = process.versions["node"];
226-
var majorVersion = version.split(".")[0];
227-
if (majorVersion == "8" || majorVersion == "10") {
236+
var cldrVersion = Number(process.versions["cldr"]);
237+
var nodeMajorVersion = process.versions["node"].split(".")[0];
238+
if (cldrVersion < 36) {
228239
test.equal(fmt.format(date), "9/29/2011");
229-
} else if (majorVersion == "12") {
230-
test.equal(fmt.format(date), "September 29, 2011");
240+
} else if (cldrVersion < 38) {
241+
if (nodeMajorVersion === "14") {
242+
test.equal(fmt.format(date), "29 September 2011");
243+
} else {
244+
test.equal(fmt.format(date), "September 29, 2011");
245+
}
246+
231247
} else {
232248
test.equal(fmt.format(date), "29 September 2011");
233249
}
@@ -283,12 +299,16 @@ module.exports.testdatefmt_en_GB = {
283299

284300

285301
if(ilib._getPlatform() === "nodejs"){
286-
var version = process.versions["node"];
287-
var majorVersion = version.split(".")[0];
288-
if (majorVersion == "8" || majorVersion == "10") {
302+
var cldrVersion = Number(process.versions["cldr"]);
303+
var nodeMajorVersion = process.versions["node"].split(".")[0];
304+
if (cldrVersion < 36) {
289305
test.equal(fmt.format(date), "9/29/2011");
290-
} else if (majorVersion == "12") {
291-
test.equal(fmt.format(date), "Thursday, September 29, 2011");
306+
} else if (cldrVersion < 38) {
307+
if (nodeMajorVersion === "14") {
308+
test.equal(fmt.format(date), "Thursday, 29 September 2011");
309+
} else {
310+
test.equal(fmt.format(date), "Thursday, September 29, 2011");
311+
}
292312
} else {
293313
test.equal(fmt.format(date), "Thursday, 29 September 2011");
294314
}
@@ -1294,12 +1314,16 @@ module.exports.testdatefmt_en_GB = {
12941314
});
12951315

12961316
if(ilib._getPlatform() === "nodejs") {
1297-
var version = process.versions["node"];
1298-
var majorVersion = version.split(".")[0];
1299-
if (majorVersion == "8" || majorVersion == "10") {
1317+
var cldrVersion = Number(process.versions["cldr"]);
1318+
var nodeMajorVersion = process.versions["node"].split(".")[0];
1319+
if (cldrVersion < 36) {
13001320
test.equal(fmt.format(date), "9/29/2011");
1301-
} else if (majorVersion == "12") {
1302-
test.equal(fmt.format(date), "1:45 PM");
1321+
} else if (cldrVersion < 38) {
1322+
if (nodeMajorVersion === "14") {
1323+
test.equal(fmt.format(date), "13:45");
1324+
} else {
1325+
test.equal(fmt.format(date), "1:45 PM");
1326+
}
13031327
} else {
13041328
test.equal(fmt.format(date), "13:45");
13051329
}
@@ -1329,19 +1353,22 @@ module.exports.testdatefmt_en_GB = {
13291353
});
13301354

13311355
if(ilib._getPlatform() === "nodejs"){
1332-
var version = process.versions["node"];
1333-
var majorVersion = version.split(".")[0];
1334-
if (majorVersion == "8" || majorVersion == "10") {
1356+
var cldrVersion = Number(process.versions["cldr"]);
1357+
var nodeMajorVersion = process.versions["node"].split(".")[0];
1358+
if (cldrVersion < 36) {
13351359
test.equal(fmt.format(date), "9/29/2011");
1336-
} else if (majorVersion == "12") {
1337-
test.equal(fmt.format(date), "1:45:10 PM");
1360+
} else if (cldrVersion < 38) {
1361+
if (nodeMajorVersion === "14") {
1362+
test.equal(fmt.format(date), "13:45:10");
1363+
} else {
1364+
test.equal(fmt.format(date), "1:45:10 PM");
1365+
}
13381366
} else {
13391367
test.equal(fmt.format(date), "13:45:10");
13401368
}
13411369
} else {
13421370
test.equal(fmt.format(date), "13:45:10");
13431371
}
1344-
13451372
test.done();
13461373
},
13471374

js/test/date/testdatefmtasync.js

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -322,9 +322,8 @@ module.exports.testdatefmtasync = {
322322
var date = new Date(2022, 4, 29);
323323

324324
if(ilib._getPlatform() === "nodejs"){
325-
var version = process.versions["node"];
326-
var majorVersion = version.split(".")[0];
327-
if (majorVersion == 8 || majorVersion == 10){
325+
var cldrVersion = Number(process.versions["cldr"]);
326+
if (cldrVersion < 36){
328327
test.equal(fmt.format(date), "5/29/2022");
329328
} else {
330329
test.equal(fmt.format(date), "May 29, 2022");
@@ -420,15 +419,12 @@ module.exports.testdatefmtasync = {
420419
sync: false,
421420
onLoad: function(fmt){
422421
if(ilib._getPlatform() === "nodejs"){
423-
var version = process.versions["node"];
424-
var majorVersion = version.split(".")[0];
425-
//console.log("version: " + version);
426-
if(majorVersion == "8" || majorVersion == "10"){
422+
var cldrVersion = Number(process.versions["cldr"]);
423+
if(cldrVersion < 36){
427424
test.equal(fmt.format(date), "9/29/2022");
428425
} else {
429426
test.equal(fmt.format(date), "September 29, 2022");
430427
}
431-
432428
} else {
433429
test.equal(fmt.format(date), "September 29, 2022");
434430
}

js/test/root/teststrings.js

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -698,8 +698,8 @@ module.exports.teststrings = {
698698

699699
var platform = ilib._getPlatform();
700700
if (platform === "nodejs") {
701-
var cldrVersion = process.versions["cldr"];
702-
if (Number(cldrVersion) < 36) {
701+
var cldrVersion = Number(process.versions["cldr"]);
702+
if (cldrVersion < 36) {
703703
test.equal(str.formatChoice([params.num,params.pages], params), "0 items on 0 pages.");
704704
} else {
705705
test.equal(str.formatChoice([params.num,params.pages], params), "0 items (many) on 0 pages (many).");
@@ -3023,8 +3023,8 @@ module.exports.teststrings = {
30233023

30243024
var platform = ilib._getPlatform();
30253025
if (platform === "nodejs") {
3026-
var cldrVersion = process.versions["cldr"];
3027-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
3026+
var cldrVersion = Number(process.versions["cldr"]);
3027+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
30283028
test.equal(str.formatChoice(0), "There are no items.");
30293029
} else {
30303030
test.equal(str.formatChoice(0), "Default items");
@@ -3249,8 +3249,8 @@ module.exports.teststrings = {
32493249

32503250
var platform = ilib._getPlatform();
32513251
if (platform === "nodejs") {
3252-
var cldrVersion = process.versions["cldr"];
3253-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
3252+
var cldrVersion = Number(process.versions["cldr"]);
3253+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
32543254
test.equal(str.formatChoice(0), "There are no items.");
32553255
} else {
32563256
test.equal(str.formatChoice(0), "The item is one");
@@ -3280,10 +3280,10 @@ module.exports.teststrings = {
32803280
test.ok(str !== null);
32813281

32823282
if (ilib._getPlatform() === "nodejs") {
3283-
var cldrVersion = process.versions["cldr"];
3284-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
3283+
var cldrVersion = Number(process.versions["cldr"]);
3284+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
32853285
test.equal(str.formatChoice(1000000), "The items are many");
3286-
} else if (Number(cldrVersion) >= 36 && Number(cldrVersion) < 40 ) {
3286+
} else if (cldrVersion >= 36 && cldrVersion < 40 ) {
32873287
test.equal(str.formatChoice(1000000), "Default items"); // wrong result based on cldr41
32883288
} else {
32893289
test.equal(str.formatChoice(1000000), "The items are many");
@@ -3306,8 +3306,8 @@ module.exports.teststrings = {
33063306

33073307
var platform = ilib._getPlatform();
33083308
if (platform === "nodejs") {
3309-
var cldrVersion = process.versions["cldr"];
3310-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
3309+
var cldrVersion = Number(process.versions["cldr"]);
3310+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
33113311
test.equal(str.formatChoice(0), "There are no items.");
33123312
} else {
33133313
test.equal(str.formatChoice(0), "Default items");
@@ -3337,8 +3337,8 @@ module.exports.teststrings = {
33373337
test.ok(str !== null);
33383338
var platform = ilib._getPlatform();
33393339
if (platform === "nodejs") {
3340-
var cldrVersion = process.versions["cldr"];
3341-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
3340+
var cldrVersion = Number(process.versions["cldr"]);
3341+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
33423342
test.equal(str.formatChoice(0), "There are no items.");
33433343
} else {
33443344
test.equal(str.formatChoice(0), "The items are many");
@@ -3866,7 +3866,7 @@ module.exports.teststrings = {
38663866

38673867
var platform = ilib._getPlatform();
38683868
if (platform === "nodejs") {
3869-
var cldrVersion = process.versions["cldr"];
3869+
var cldrVersion = Number(process.versions["cldr"]);
38703870
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
38713871
test.equal(str.formatChoice(0), "There are no items.");
38723872
} else {
@@ -3940,7 +3940,7 @@ module.exports.teststrings = {
39403940
test.ok(str !== null);
39413941

39423942
if (ilib._getPlatform() === "nodejs") {
3943-
var cldrVersion = process.versions["cldr"];
3943+
var cldrVersion = Number(process.versions["cldr"]);
39443944
if (Number(cldrVersion) < 36) { // // Intl.PluralRules doesn't support this locale until this version.
39453945
test.equal(str.formatChoice(3e6), "The items are many");
39463946
} else if (Number(cldrVersion) >= 36 && Number(cldrVersion) < 40 ) {
@@ -3964,11 +3964,11 @@ module.exports.teststrings = {
39643964
test.ok(str !== null);
39653965

39663966
if (ilib._getPlatform() === "nodejs") {
3967-
var cldrVersion = process.versions["cldr"];
3968-
if (Number(cldrVersion) < 36) { // // Intl.PluralRules doesn't support this locale until this version.
3967+
var cldrVersion = Number(process.versions["cldr"]);
3968+
if (cldrVersion < 36) { // // Intl.PluralRules doesn't support this locale until this version.
39693969
test.equal(str.formatChoice(3e6), "The items are many");
39703970
}
3971-
else if (Number(cldrVersion) >= 36 && Number(cldrVersion) < 40 ) {
3971+
else if (cldrVersion >= 36 && cldrVersion < 40 ) {
39723972
test.equal(str.formatChoice(3e6), "Default items"); // wrong result based on cldr41
39733973
} else {
39743974
test.equal(str.formatChoice(3e6), "The items are many");
@@ -3989,10 +3989,10 @@ module.exports.teststrings = {
39893989
test.ok(str !== null);
39903990

39913991
if (ilib._getPlatform() === "nodejs") {
3992-
var cldrVersion = process.versions["cldr"];
3993-
if (Number(cldrVersion) < 36) { // // Intl.PluralRules doesn't support this locale until this version.
3992+
var cldrVersion = Number(process.versions["cldr"]);
3993+
if (cldrVersion < 36) { // // Intl.PluralRules doesn't support this locale until this version.
39943994
test.equal(str.formatChoice(1000000), "The items are many");
3995-
} else if (Number(cldrVersion) >= 36 && Number(cldrVersion) < 40 ) {
3995+
} else if (cldrVersion >= 36 && cldrVersion < 40 ) {
39963996
test.equal(str.formatChoice(1000000), "Default items"); // wrong result based on cldr41
39973997
} else {
39983998
test.equal(str.formatChoice(1000000), "The items are many");
@@ -4022,10 +4022,10 @@ module.exports.teststrings = {
40224022
test.ok(str !== null);
40234023

40244024
if (ilib._getPlatform() === "nodejs") {
4025-
var cldrVersion = process.versions["cldr"];
4026-
if (Number(cldrVersion) < 36) {
4025+
var cldrVersion = Number(process.versions["cldr"]);
4026+
if (cldrVersion < 36) {
40274027
test.equal(str.formatChoice(5e6), "The items are many");
4028-
} else if (Number(cldrVersion) >= 36 && Number(cldrVersion) < 38) {
4028+
} else if (cldrVersion >= 36 && cldrVersion < 38) {
40294029
test.equal(str.formatChoice(5e6), "Default items"); // wrong result based on cldr41
40304030
} else {
40314031
test.equal(str.formatChoice(5e6), "The items are many");
@@ -4122,8 +4122,8 @@ module.exports.teststrings = {
41224122

41234123
var platform = ilib._getPlatform();
41244124
if (platform === "nodejs") {
4125-
var cldrVersion = process.versions["cldr"];
4126-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
4125+
var cldrVersion = Number(process.versions["cldr"]);
4126+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
41274127
test.equal(str.formatChoice(5.2), "The items are few");
41284128
} else {
41294129
test.equal(str.formatChoice(5.2), "Default items"); // wrong result based on cldr41
@@ -4240,8 +4240,8 @@ module.exports.teststrings = {
42404240

42414241
var platform = ilib._getPlatform();
42424242
if (platform === "nodejs") {
4243-
var cldrVersion = process.versions["cldr"];
4244-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
4243+
var cldrVersion = Number(process.versions["cldr"]);
4244+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
42454245
test.equal(str.formatChoice(0.0), "There are no items.");
42464246
} else {
42474247
test.equal(str.formatChoice(0.0), "Default items");
@@ -4291,8 +4291,8 @@ module.exports.teststrings = {
42914291
test.ok(str !== null);
42924292
var platform = ilib._getPlatform();
42934293
if (platform === "nodejs") {
4294-
var cldrVersion = process.versions["cldr"];
4295-
if (Number(cldrVersion) < 36) {
4294+
var cldrVersion = Number(process.versions["cldr"]);
4295+
if (cldrVersion < 36) {
42964296
test.equal(str.formatChoice(1.5), "Default items");
42974297
} else {
42984298
test.equal(str.formatChoice(1.5), "The item is one");
@@ -4600,8 +4600,8 @@ module.exports.teststrings = {
46004600
test.ok(str !== null);
46014601
var platform = ilib._getPlatform();
46024602
if (platform === "nodejs") {
4603-
var cldrVersion = process.versions["cldr"];
4604-
if (Number(cldrVersion) < 36) { // Intl.PluralRules doesn't support this locale until this version.
4603+
var cldrVersion = Number(process.versions["cldr"]);
4604+
if (cldrVersion < 36) { // Intl.PluralRules doesn't support this locale until this version.
46054605
test.equal(str.formatChoice(3.1e6), "The items are many");
46064606
} else {
46074607
test.equal(str.formatChoice(3.1e6), "Default items"); // wrong result based on cldr41
@@ -4631,8 +4631,8 @@ module.exports.teststrings = {
46314631
test.ok(str !== null);
46324632
var platform = ilib._getPlatform();
46334633
if (platform === "nodejs") {
4634-
var cldrVersion = process.versions["cldr"];
4635-
if (Number(cldrVersion) < 36) {// Intl.PluralRules doesn't support this locale until this version.
4634+
var cldrVersion = Number(process.versions["cldr"]);
4635+
if (cldrVersion < 36) {// Intl.PluralRules doesn't support this locale until this version.
46364636
test.equal(str.formatChoice(2.1e6), "The items are many");
46374637
} else {
46384638
test.equal(str.formatChoice(2.1e6), "Default items"); // wrong result based on cldr41

0 commit comments

Comments
 (0)