@@ -135,6 +135,18 @@ def setUp(self):
135
135
[one] A
136
136
*[other] B
137
137
}
138
+
139
+ count = { NUMBER($num, type: "cardinal") ->
140
+ *[other] B
141
+ [one] A
142
+ }
143
+
144
+ order = { NUMBER($num, type: "ordinal") ->
145
+ *[other] {$num}th
146
+ [one] {$num}st
147
+ [two] {$num}nd
148
+ [few] {$num}rd
149
+ }
138
150
""" )))
139
151
140
152
def test_selects_the_right_category (self ):
@@ -172,6 +184,42 @@ def test_with_argument_float(self):
172
184
self .assertEqual (val , "A" )
173
185
self .assertEqual (len (errs ), 0 )
174
186
187
+ def test_with_cardinal_integer (self ):
188
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('count' ).value , {'num' : 1 })
189
+ self .assertEqual (val , "A" )
190
+ self .assertEqual (len (errs ), 0 )
191
+
192
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('count' ).value , {'num' : 2 })
193
+ self .assertEqual (val , "B" )
194
+ self .assertEqual (len (errs ), 0 )
195
+
196
+ def test_with_cardinal_float (self ):
197
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('count' ).value , {'num' : 1.0 })
198
+ self .assertEqual (val , "A" )
199
+ self .assertEqual (len (errs ), 0 )
200
+
201
+ def test_with_ordinal_integer (self ):
202
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('order' ).value , {'num' : 1 })
203
+ self .assertEqual (val , "1st" )
204
+ self .assertEqual (len (errs ), 0 )
205
+
206
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('order' ).value , {'num' : 2 })
207
+ self .assertEqual (val , "2nd" )
208
+ self .assertEqual (len (errs ), 0 )
209
+
210
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('order' ).value , {'num' : 11 })
211
+ self .assertEqual (val , "11th" )
212
+ self .assertEqual (len (errs ), 0 )
213
+
214
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('order' ).value , {'num' : 21 })
215
+ self .assertEqual (val , "21st" )
216
+ self .assertEqual (len (errs ), 0 )
217
+
218
+ def test_with_ordinal_float (self ):
219
+ val , errs = self .bundle .format_pattern (self .bundle .get_message ('order' ).value , {'num' : 1.0 })
220
+ self .assertEqual (val , "1st" )
221
+ self .assertEqual (len (errs ), 0 )
222
+
175
223
176
224
class TestSelectExpressionWithTerms (unittest .TestCase ):
177
225
0 commit comments