1
1
var test = require ( 'unit.js' ) ;
2
- require ( "../index" ) ;
2
+ var i18n = require ( "../index.js" ) ;
3
+
4
+ describe ( "Textualization -----" , function ( ) {
5
+ describe ( "Simple use" , function ( ) {
6
+ it ( "Simple i18n" , function ( ) {
7
+ i18n . load ( "i18nSample" , {
8
+ hello : "Hola {firstname} {lastname}"
9
+ } , "es" ) ;
10
+ i18n . load ( "i18nSample" , {
11
+ hello : "Hello {firstname} {lastname}"
12
+ } , "en" ) ;
13
+
14
+ var user = {
15
+ firstname : "Homer" ,
16
+ lastname : "Simpson"
17
+ }
18
+
19
+ test
20
+ . value ( i18n ( "i18nSample.hello" , user , "es" ) )
21
+ . isType ( "string" )
22
+ . is ( "Hola Homer Simpson" )
23
+
24
+ . value ( i18n ( "i18nSample.hello" , user , "en" ) )
25
+ . isType ( "string" )
26
+ . is ( "Hello Homer Simpson" )
27
+
28
+ } )
29
+
30
+
31
+ it ( "Numerals - Plural & Singular" , function ( ) {
32
+ i18n . load ( "i18nSample" , {
33
+ inbox : [
34
+ "Tienes un mensaje" ,
35
+ "Tienes {$num} mensajes"
36
+ ]
37
+ } , "es" ) ;
38
+
39
+ test
40
+ . value ( i18n ( "i18nSample.inbox" , { $num :0 } , "es" ) )
41
+ . isType ( "string" )
42
+ . is ( "Tienes 0 mensajes" )
43
+ . value ( i18n ( "i18nSample.inbox" , { $num :8 } , "es" ) )
44
+ . isType ( "string" )
45
+ . is ( "Tienes 8 mensajes" )
46
+ . value ( i18n ( "i18nSample.inbox" , { $num :14999 } , "es" ) )
47
+ . isType ( "string" )
48
+ . is ( "Tienes 14999 mensajes" )
49
+ . value ( i18n ( "i18nSample.inbox" , { $num :1 } , "es" ) )
50
+ . isType ( "string" )
51
+ . is ( "Tienes un mensaje" )
52
+
53
+ } )
54
+
55
+
56
+ it ( "Numerals - Multiple items" , function ( ) {
57
+ i18n . load ( "i18nSample" , {
58
+ nodo : [
59
+ "No hay elementos" ,
60
+ "Un elemento" ,
61
+ "Dos elementos" ,
62
+ "Tres elementos" ,
63
+ "cuatro elementos" ,
64
+ "cinco elementos" ,
65
+ "{$num} elementos"
66
+ ]
67
+ } , "es" ) ;
68
+
69
+ test
70
+ . value ( i18n ( "i18nSample.nodo" , { $num :0 } , "es" ) )
71
+ . isType ( "string" )
72
+ . is ( "No hay elementos" )
73
+ . value ( i18n ( "i18nSample.nodo" , { $num :1 } , "es" ) )
74
+ . isType ( "string" )
75
+ . is ( "Un elemento" )
76
+ . value ( i18n ( "i18nSample.nodo" , { $num :2 } , "es" ) )
77
+ . isType ( "string" )
78
+ . is ( "Dos elementos" )
79
+ . value ( i18n ( "i18nSample.nodo" , { $num :3 } , "es" ) )
80
+ . isType ( "string" )
81
+ . is ( "Tres elementos" )
82
+ . value ( i18n ( "i18nSample.nodo" , { $num :4 } , "es" ) )
83
+ . isType ( "string" )
84
+ . is ( "cuatro elementos" )
85
+ . value ( i18n ( "i18nSample.nodo" , { $num :5 } , "es" ) )
86
+ . isType ( "string" )
87
+ . is ( "cinco elementos" )
88
+ . value ( i18n ( "i18nSample.nodo" , { $num :6 } , "es" ) )
89
+ . isType ( "string" )
90
+ . is ( "6 elementos" )
91
+ . value ( i18n ( "i18nSample.nodo" , { $num :7 } , "es" ) )
92
+ . isType ( "string" )
93
+ . is ( "7 elementos" )
94
+ . value ( i18n ( "i18nSample.nodo" , 7 , "es" ) )
95
+ . isType ( "string" )
96
+ . is ( "7 elementos" )
97
+
98
+ } )
99
+
100
+ it ( "Functions " , function ( ) {
101
+ i18n . load ( "i18nSample" , {
102
+ func : function ( ) {
103
+ var square = param * param ;
104
+ return "El cuadrado de {param} es " + square ;
105
+ }
106
+ } , "es" ) ;
107
+
108
+ test
109
+ . value ( i18n ( "i18nSample.func" , { param :5 } , "es" ) )
110
+ . isType ( "string" )
111
+ . is ( "El cuadrado de 5 es 25" )
112
+
113
+ } )
114
+
115
+ } )
116
+
117
+ describe ( "Load" , function ( ) {
118
+ it ( "Load 3 languages" , function ( ) {
119
+ i18n . load ( "i18nSampleLoad" , "./test/languages" ) ;
120
+ i18n . languages = [ "es" , "en" , "de" ] ;
121
+
122
+ var user = {
123
+ firstname : "Homer" ,
124
+ lastname : "Simpson"
125
+ } ;
126
+
127
+ test
128
+ . value ( i18n ( "i18nSampleLoad.hello" , user , "es" ) )
129
+ . isType ( "string" )
130
+ . is ( "Hola Homer Simpson" )
131
+
132
+ . value ( i18n ( "i18nSampleLoad.hello" , user , "en" ) )
133
+ . isType ( "string" )
134
+ . is ( "Hi Homer Simpson" )
135
+
136
+ . value ( i18n ( "i18nSampleLoad.hello" , user , "de" ) )
137
+ . isType ( "string" )
138
+ . is ( "Hallo Homer Simpson" )
139
+
140
+ } )
141
+
142
+ it ( "Load 3 languages and after 2" , function ( ) {
143
+ i18n . load ( "i18nSampleLoad" , "./test/languages" ) ;
144
+ i18n . languages = [ "es" , "en" , "de" ] ;
145
+ i18n . languages = [ "es" , "en" ] ;
146
+ i18n . reload ( ) ;
147
+
148
+ var user = {
149
+ firstname : "Homer" ,
150
+ lastname : "Simpson"
151
+ } ;
152
+
153
+ //console.log(i18n.heap);
154
+
155
+ test
156
+ . value ( i18n ( "i18nSampleLoad.hello" , user , "de" ) )
157
+ . is ( "Hallo Homer Simpson" )
158
+ } )
159
+
160
+ } )
161
+
162
+
163
+ } ) ;
0 commit comments