Skip to content

Commit c75cdd3

Browse files
committed
AR: unit tests
1 parent 44ab81e commit c75cdd3

File tree

1 file changed

+73
-3
lines changed

1 file changed

+73
-3
lines changed

test/index.test.js

Lines changed: 73 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ describe("written-number", function() {
229229
});
230230
});
231231

232-
describe("writtenNumber(n, { lang: 'ptPT', ... })", function() {
232+
describe("writtenNumber(n, { lang: 'ptPT', ... })", function() {
233233
before(function() {
234234
writtenNumber.defaults.lang = "ptPT";
235235
});
@@ -566,7 +566,7 @@ describe("writtenNumber(n, { lang: 'ptPT', ... })", function() {
566566
writtenNumber(73).should.equal("yetmiş üç");
567567
});
568568

569-
it("correctly converts numbers < 1000", function() {
569+
it("correctly converts numbers < 10000", function() {
570570
writtenNumber(200).should.equal("iki yüz");
571571
writtenNumber(242).should.equal("iki yüz kırk iki");
572572
writtenNumber(1234).should.equal(
@@ -577,7 +577,7 @@ describe("writtenNumber(n, { lang: 'ptPT', ... })", function() {
577577
);
578578
});
579579

580-
it("correctly converts numbers > 1000", function() {
580+
it("correctly converts numbers > 10000", function() {
581581
writtenNumber(4323000).should.equal(
582582
"dört milyon üç yüz yirmi üç bin"
583583
);
@@ -600,4 +600,74 @@ describe("writtenNumber(n, { lang: 'ptPT', ... })", function() {
600600
);
601601
});
602602
});
603+
604+
describe("writtenNumber(n, { lang: 'ar', ... })", function () {
605+
before(function () {writtenNumber.defaults.lang = "ar";
606+
});
607+
608+
it("gets exposed", function () {
609+
should.exist(writtenNumber);
610+
writtenNumber.should.be.instanceof(Function);
611+
});
612+
613+
it("doesn't blow up weirdly with invalid input", function () {
614+
writtenNumber("asdfasdfasdf").should.equal("");
615+
writtenNumber("0.as").should.equal("");
616+
writtenNumber("0.123").should.equal("صفر");
617+
writtenNumber("0.8").should.equal("واحد");
618+
writtenNumber("2.8").should.equal("ثلاثة");
619+
writtenNumber("asdf.8").should.equal("");
620+
writtenNumber("120391938123..").should.equal("");
621+
writtenNumber("1/3").should.equal("");
622+
writtenNumber(1 / 3).should.equal("صفر");
623+
writtenNumber("1/2").should.equal("");
624+
writtenNumber("1.123/2").should.equal("");
625+
});
626+
627+
it("correctly converts numbers < 10", function () {
628+
writtenNumber(0).should.equal("صفر");
629+
writtenNumber(3).should.equal("ثلاثة");
630+
writtenNumber(6).should.equal("ستة");
631+
});
632+
633+
it("correctly converts numbers < 20", function () {
634+
writtenNumber(11).should.equal("أحد عشر");
635+
writtenNumber(13).should.equal("ثلاثة عشر");
636+
writtenNumber(19).should.equal("تسعة عشر");
637+
});
638+
639+
it("correctly converts numbers < 100", function () {
640+
writtenNumber(20).should.equal("عشرون");
641+
writtenNumber(25).should.equal("خمسة وعشرون");
642+
writtenNumber(40).should.equal("أربعون");
643+
writtenNumber(88).should.equal("ثمانية وثمانون");
644+
writtenNumber(73).should.equal("ثلاثة وسبعون");
645+
writtenNumber(99).should.equal("تسعة وتسعون");
646+
});
647+
648+
it("correctly converts numbers < 10000", function () {
649+
writtenNumber(200).should.equal("مائتان");
650+
writtenNumber(310).should.equal("ثلاثمائة وعشرة");
651+
writtenNumber(242).should.equal("مائتان واثنان وأربعون");
652+
writtenNumber(1234).should.equal("ألف ومائتان وأربعة وثلاثون");
653+
writtenNumber(3000).should.equal("ثلاثة آلاف");
654+
writtenNumber(4323).should.equal("أربعة آلاف وثلاثمائة وثلاثة وعشرون");
655+
});
656+
657+
it("correctly converts numbers > 10000", function() {
658+
writtenNumber(10000).should.equal("عشرة آلاف");
659+
writtenNumber(11000).should.equal("أحد عشر ألف");
660+
writtenNumber(4323000).should.equal("أربعة ملايين وثلاثمائة وثلاثة وعشرون ألف");
661+
writtenNumber(4323055).should.equal("أربعة ملايين وثلاثمائة وثلاثة وعشرون ألف وخمسة وخمسون");
662+
writtenNumber(1570025).should.equal("مليون وخمسمائة وسبعون ألف وخمسة وعشرون");
663+
});
664+
665+
it("correctly converts numbers > 1 000 000 000", function() {
666+
writtenNumber(1000000000).should.equal("مليار");
667+
writtenNumber(2580000000).should.equal("ملياران وخمسمائة وثمانون مليون");
668+
writtenNumber(1000000000000).should.equal("تريليون");
669+
writtenNumber(3627000000000).should.equal("ثلاثة تريليون وستمائة وسبعة وعشرون مليار");
670+
});
671+
672+
});
603673
});

0 commit comments

Comments
 (0)