@@ -135,6 +135,18 @@ def setUp(self):
135135 [one] A
136136 *[other] B
137137 }
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+ }
138150 """ )))
139151
140152 def test_selects_the_right_category (self ):
@@ -172,6 +184,42 @@ def test_with_argument_float(self):
172184 self .assertEqual (val , "A" )
173185 self .assertEqual (len (errs ), 0 )
174186
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+
175223
176224class TestSelectExpressionWithTerms (unittest .TestCase ):
177225
0 commit comments