@@ -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