csl 1.0.0.pre5 → 1.0.0.pre6
Sign up to get free protection for your applications and to get access to all the features.
- data/csl.gemspec +3 -0
- data/features/locales/ordinalize.feature +288 -399
- data/lib/csl.rb +3 -0
- data/lib/csl/info.rb +31 -18
- data/lib/csl/locale.rb +64 -168
- data/lib/csl/locale/ordinalize.rb +130 -0
- data/lib/csl/locale/term.rb +67 -30
- data/lib/csl/node.rb +44 -2
- data/lib/csl/schema.rb +4 -0
- data/lib/csl/style/number.rb +2 -1
- data/lib/csl/style/text.rb +6 -4
- data/lib/csl/version.rb +1 -1
- data/spec/csl/info_spec.rb +7 -1
- data/spec/csl/locale/term_spec.rb +1 -1
- data/spec/csl/node_spec.rb +40 -0
- metadata +23 -8
data/csl.gemspec
CHANGED
@@ -18,9 +18,12 @@ Gem::Specification.new do |s|
|
|
18
18
|
XML-based language to describe the formatting of citations and
|
19
19
|
bibliographies.
|
20
20
|
"""
|
21
|
+
|
21
22
|
s.license = 'AGPL'
|
22
23
|
s.date = Time.now.strftime('%Y-%m-%d')
|
23
24
|
|
25
|
+
s.add_dependency('namae', ['~>0.3'])
|
26
|
+
|
24
27
|
s.add_development_dependency('cucumber', ['~>1.1'])
|
25
28
|
s.add_development_dependency('rspec', ['~>2.7'])
|
26
29
|
s.add_development_dependency('rake', ['~>0.9'])
|
@@ -3,7 +3,7 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
3
3
|
As a hacker of CSL styles
|
4
4
|
I want to be able to convert numbers to ordinals
|
5
5
|
|
6
|
-
@v1.0 @locale @ordinals @i18n @lang
|
6
|
+
@v1.0 @locale @ordinals @i18n @lang-en
|
7
7
|
Scenario: English CSL 1.0 locales
|
8
8
|
Given the locale:
|
9
9
|
"""
|
@@ -58,17 +58,19 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
58
58
|
| 113th |
|
59
59
|
| -102nd |
|
60
60
|
|
61
|
-
@v1.0.1 @locale @ordinals @i18n @lang
|
61
|
+
@v1.0.1 @locale @ordinals @i18n @lang-en
|
62
62
|
Scenario: English CSL 1.0.1 locales
|
63
63
|
Given the locale:
|
64
64
|
"""
|
65
65
|
<?xml version="1.0" encoding="utf-8"?>
|
66
66
|
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="en">
|
67
67
|
<terms>
|
68
|
-
<term name="ordinal
|
68
|
+
<term name="ordinal">th</term>
|
69
|
+
|
69
70
|
<term name="ordinal-01">st</term>
|
70
71
|
<term name="ordinal-02">nd</term>
|
71
72
|
<term name="ordinal-03">rd</term>
|
73
|
+
|
72
74
|
<term name="ordinal-11">th</term>
|
73
75
|
<term name="ordinal-12">th</term>
|
74
76
|
<term name="ordinal-13">th</term>
|
@@ -76,25 +78,28 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
76
78
|
</locale>
|
77
79
|
"""
|
78
80
|
When I ordinalize these numbers:
|
79
|
-
|
|
80
|
-
| 0 |
|
81
|
-
| 1 |
|
82
|
-
| 2 |
|
83
|
-
| 3 |
|
84
|
-
| 4 |
|
85
|
-
| 5 |
|
86
|
-
| 10 |
|
87
|
-
| 11 |
|
88
|
-
| 12 |
|
89
|
-
| 13 |
|
90
|
-
| 20 |
|
91
|
-
| 21 |
|
92
|
-
| 22 |
|
93
|
-
| 23 |
|
94
|
-
| 111 |
|
95
|
-
| 112 |
|
96
|
-
| 113 |
|
97
|
-
| -102 |
|
81
|
+
| num | form | gender | number |
|
82
|
+
| 0 | | | |
|
83
|
+
| 1 | | | |
|
84
|
+
| 2 | | | |
|
85
|
+
| 3 | | | |
|
86
|
+
| 4 | | | |
|
87
|
+
| 5 | | | |
|
88
|
+
| 10 | | | |
|
89
|
+
| 11 | | | |
|
90
|
+
| 12 | | | |
|
91
|
+
| 13 | | | |
|
92
|
+
| 20 | | | |
|
93
|
+
| 21 | | | |
|
94
|
+
| 22 | | | |
|
95
|
+
| 23 | | | |
|
96
|
+
| 111 | | | |
|
97
|
+
| 112 | | | |
|
98
|
+
| 113 | | | |
|
99
|
+
| -102 | | | |
|
100
|
+
# | 1 | | masculine | |
|
101
|
+
# | 2 | | feminine | |
|
102
|
+
# | 3 | | | plural |
|
98
103
|
Then the ordinals should be:
|
99
104
|
| ordinal |
|
100
105
|
| 0th |
|
@@ -115,15 +120,19 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
115
120
|
| 112th |
|
116
121
|
| 113th |
|
117
122
|
| -102nd |
|
123
|
+
# | 1st |
|
124
|
+
# | 2nd |
|
125
|
+
# | 3rd |
|
118
126
|
|
119
|
-
@v1.0.1 @locale @ordinals @i18n @gender @lang
|
127
|
+
@v1.0.1 @locale @ordinals @i18n @gender @lang-de
|
120
128
|
Scenario: Gendered German CSL 1.0.1 locales
|
121
129
|
Given the locale:
|
122
130
|
"""
|
123
131
|
<?xml version="1.0" encoding="utf-8"?>
|
124
132
|
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="de">
|
125
133
|
<terms>
|
126
|
-
<term name="ordinal
|
134
|
+
<term name="ordinal">.</term>
|
135
|
+
|
127
136
|
<term name="long-ordinal-01">erstes</term>
|
128
137
|
<term name="long-ordinal-01" gender-form="feminine">
|
129
138
|
<single>erste</single>
|
@@ -176,31 +185,30 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
176
185
|
| zweiter |
|
177
186
|
| 3. |
|
178
187
|
|
179
|
-
@v1.0.1 @locale @ordinals @i18n @gender @lang
|
188
|
+
@v1.0.1 @locale @ordinals @i18n @gender @lang-fr
|
180
189
|
Scenario: Gendered French CSL 1.0.1 locales
|
181
190
|
Given the locale:
|
182
191
|
"""
|
183
192
|
<?xml version="1.0" encoding="utf-8"?>
|
184
193
|
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="de">
|
185
194
|
<terms>
|
186
|
-
<term name="ordinal
|
195
|
+
<term name="ordinal">
|
187
196
|
<single>e</single>
|
188
197
|
<multiple>es</multiple>
|
189
198
|
</term>
|
190
199
|
|
191
|
-
<term name="ordinal-01"
|
200
|
+
<term name="ordinal-01" match="whole-number">
|
192
201
|
<single>re</single>
|
193
202
|
<multiple>res</multiple>
|
194
203
|
</term>
|
195
|
-
<term name="ordinal-01" gender-form="feminine"
|
204
|
+
<term name="ordinal-01" gender-form="feminine" match="whole-number">
|
196
205
|
<single>re</single>
|
197
206
|
<multiple>res</multiple>
|
198
207
|
</term>
|
199
|
-
<term name="ordinal-01" gender-form="masculine"
|
208
|
+
<term name="ordinal-01" gender-form="masculine" match="whole-number">
|
200
209
|
<single>er</single>
|
201
210
|
<multiple>ers</multiple>
|
202
211
|
</term>
|
203
|
-
|
204
212
|
</terms>
|
205
213
|
</locale>
|
206
214
|
"""
|
@@ -222,15 +230,17 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
222
230
|
| 101 | | | |
|
223
231
|
| 1001 | | | |
|
224
232
|
| 301 | | | |
|
225
|
-
|
226
|
-
|
233
|
+
| 21 | | masculine | |
|
234
|
+
| 1001 | | masculine | |
|
235
|
+
| 42 | | masculine | |
|
236
|
+
| 42 | | masculine | plural |
|
227
237
|
Then the ordinals should be:
|
228
238
|
| ordinal |
|
229
239
|
| 0e |
|
230
|
-
|
|
240
|
+
| 1re |
|
231
241
|
| 1re |
|
232
242
|
| 1er |
|
233
|
-
|
|
243
|
+
| 1re |
|
234
244
|
| 1res |
|
235
245
|
| 1ers |
|
236
246
|
| 2e |
|
@@ -242,96 +252,40 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
242
252
|
| 101e |
|
243
253
|
| 1001e |
|
244
254
|
| 301e |
|
245
|
-
|
246
|
-
|
247
|
-
|
255
|
+
| 21e |
|
256
|
+
| 1001e |
|
257
|
+
| 42e |
|
258
|
+
| 42es |
|
248
259
|
|
249
|
-
@v1.0.1 @locale @ordinals @i18n @lang
|
260
|
+
@v1.0.1 @locale @ordinals @i18n @lang-nl
|
250
261
|
Scenario: Dutch CSL 1.0.1 locales (nulde form)
|
251
262
|
Given the locale:
|
252
263
|
"""
|
253
264
|
<?xml version="1.0" encoding="utf-8"?>
|
254
265
|
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="nl">
|
255
266
|
<terms>
|
256
|
-
<term name="ordinal
|
257
|
-
|
258
|
-
<term name="ordinal-
|
259
|
-
|
260
|
-
|
261
|
-
<term name="ordinal-
|
262
|
-
<term name="ordinal-
|
263
|
-
|
264
|
-
<term name="ordinal-
|
265
|
-
<term name="ordinal-
|
266
|
-
<term name="ordinal-
|
267
|
-
|
268
|
-
<term name="ordinal-
|
269
|
-
<term name="ordinal-
|
270
|
-
<term name="ordinal-
|
271
|
-
<term name="ordinal-
|
272
|
-
|
273
|
-
<term name="ordinal-
|
274
|
-
<term name="ordinal-
|
275
|
-
<term name="ordinal-
|
276
|
-
<term name="ordinal-
|
277
|
-
<term name="ordinal-
|
278
|
-
<term name="ordinal-36">ste</term>
|
279
|
-
<term name="ordinal-37">ste</term>
|
280
|
-
<term name="ordinal-39">ste</term>
|
281
|
-
|
282
|
-
<term name="ordinal-40">ste</term>
|
283
|
-
<term name="ordinal-42">ste</term>
|
284
|
-
<term name="ordinal-43">ste</term>
|
285
|
-
<term name="ordinal-44">ste</term>
|
286
|
-
<term name="ordinal-45">ste</term>
|
287
|
-
<term name="ordinal-46">ste</term>
|
288
|
-
<term name="ordinal-47">ste</term>
|
289
|
-
<term name="ordinal-49">ste</term>
|
290
|
-
|
291
|
-
<term name="ordinal-50">ste</term>
|
292
|
-
<term name="ordinal-52">ste</term>
|
293
|
-
<term name="ordinal-53">ste</term>
|
294
|
-
<term name="ordinal-54">ste</term>
|
295
|
-
<term name="ordinal-55">ste</term>
|
296
|
-
<term name="ordinal-56">ste</term>
|
297
|
-
<term name="ordinal-57">ste</term>
|
298
|
-
<term name="ordinal-59">ste</term>
|
299
|
-
|
300
|
-
<term name="ordinal-60">ste</term>
|
301
|
-
<term name="ordinal-62">ste</term>
|
302
|
-
<term name="ordinal-63">ste</term>
|
303
|
-
<term name="ordinal-64">ste</term>
|
304
|
-
<term name="ordinal-65">ste</term>
|
305
|
-
<term name="ordinal-66">ste</term>
|
306
|
-
<term name="ordinal-67">ste</term>
|
307
|
-
<term name="ordinal-69">ste</term>
|
308
|
-
|
309
|
-
<term name="ordinal-70">ste</term>
|
310
|
-
<term name="ordinal-72">ste</term>
|
311
|
-
<term name="ordinal-73">ste</term>
|
312
|
-
<term name="ordinal-74">ste</term>
|
313
|
-
<term name="ordinal-75">ste</term>
|
314
|
-
<term name="ordinal-76">ste</term>
|
315
|
-
<term name="ordinal-77">ste</term>
|
316
|
-
<term name="ordinal-79">ste</term>
|
317
|
-
|
318
|
-
<term name="ordinal-80">ste</term>
|
319
|
-
<term name="ordinal-82">ste</term>
|
320
|
-
<term name="ordinal-83">ste</term>
|
321
|
-
<term name="ordinal-84">ste</term>
|
322
|
-
<term name="ordinal-85">ste</term>
|
323
|
-
<term name="ordinal-86">ste</term>
|
324
|
-
<term name="ordinal-87">ste</term>
|
325
|
-
<term name="ordinal-89">ste</term>
|
326
|
-
|
327
|
-
<term name="ordinal-90">ste</term>
|
328
|
-
<term name="ordinal-92">ste</term>
|
329
|
-
<term name="ordinal-93">ste</term>
|
330
|
-
<term name="ordinal-94">ste</term>
|
331
|
-
<term name="ordinal-95">ste</term>
|
332
|
-
<term name="ordinal-96">ste</term>
|
333
|
-
<term name="ordinal-97">ste</term>
|
334
|
-
<term name="ordinal-99">ste</term>
|
267
|
+
<term name="ordinal">ste</term>
|
268
|
+
|
269
|
+
<term name="ordinal-00" match="whole-number">de</term>
|
270
|
+
|
271
|
+
<term name="ordinal-02" match="2-digits">de</term>
|
272
|
+
<term name="ordinal-03" match="2-digits">de</term>
|
273
|
+
<term name="ordinal-04" match="2-digits">de</term>
|
274
|
+
<term name="ordinal-05" match="2-digits">de</term>
|
275
|
+
<term name="ordinal-06" match="2-digits">de</term>
|
276
|
+
<term name="ordinal-07" match="2-digits">de</term>
|
277
|
+
<term name="ordinal-09" match="2-digits">de</term>
|
278
|
+
|
279
|
+
<term name="ordinal-10" match="2-digits">de</term>
|
280
|
+
<term name="ordinal-11" match="2-digits">de</term>
|
281
|
+
<term name="ordinal-12" match="2-digits">de</term>
|
282
|
+
<term name="ordinal-13" match="2-digits">de</term>
|
283
|
+
<term name="ordinal-14" match="2-digits">de</term>
|
284
|
+
<term name="ordinal-15" match="2-digits">de</term>
|
285
|
+
<term name="ordinal-16" match="2-digits">de</term>
|
286
|
+
<term name="ordinal-17" match="2-digits">de</term>
|
287
|
+
<term name="ordinal-18" match="2-digits">de</term>
|
288
|
+
<term name="ordinal-19" match="2-digits">de</term>
|
335
289
|
</terms>
|
336
290
|
</locale>
|
337
291
|
"""
|
@@ -412,101 +366,33 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
412
366
|
| 112de |
|
413
367
|
| 113de |
|
414
368
|
|
415
|
-
@v1.0.1 @locale @ordinals @i18n @lang
|
369
|
+
@v1.0.1 @locale @ordinals @i18n @lang-nl
|
416
370
|
Scenario: Dutch CSL 1.0.1 locales (nulste form)
|
417
371
|
Given the locale:
|
418
372
|
"""
|
419
373
|
<?xml version="1.0" encoding="utf-8"?>
|
420
374
|
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="nl">
|
421
375
|
<terms>
|
422
|
-
<term name="ordinal
|
423
|
-
|
424
|
-
<term name="ordinal-
|
425
|
-
<term name="ordinal-
|
426
|
-
|
427
|
-
<term name="ordinal-
|
428
|
-
<term name="ordinal-
|
429
|
-
<term name="ordinal-
|
430
|
-
<term name="ordinal-
|
431
|
-
|
432
|
-
<term name="ordinal-
|
433
|
-
<term name="ordinal-
|
434
|
-
|
435
|
-
<term name="ordinal-
|
436
|
-
<term name="ordinal-
|
437
|
-
<term name="ordinal-
|
438
|
-
<term name="ordinal-
|
439
|
-
<term name="ordinal-
|
440
|
-
<term name="ordinal-
|
441
|
-
<term name="ordinal-
|
442
|
-
<term name="ordinal-17">de</term>
|
443
|
-
<term name="ordinal-18">de</term>
|
444
|
-
<term name="ordinal-19">de</term>
|
445
|
-
|
446
|
-
<term name="ordinal-22">ste</term>
|
447
|
-
<term name="ordinal-23">ste</term>
|
448
|
-
<term name="ordinal-24">ste</term>
|
449
|
-
<term name="ordinal-25">ste</term>
|
450
|
-
<term name="ordinal-26">ste</term>
|
451
|
-
<term name="ordinal-27">ste</term>
|
452
|
-
<term name="ordinal-29">ste</term>
|
453
|
-
|
454
|
-
<term name="ordinal-32">ste</term>
|
455
|
-
<term name="ordinal-33">ste</term>
|
456
|
-
<term name="ordinal-34">ste</term>
|
457
|
-
<term name="ordinal-35">ste</term>
|
458
|
-
<term name="ordinal-36">ste</term>
|
459
|
-
<term name="ordinal-37">ste</term>
|
460
|
-
<term name="ordinal-39">ste</term>
|
461
|
-
|
462
|
-
<term name="ordinal-42">ste</term>
|
463
|
-
<term name="ordinal-43">ste</term>
|
464
|
-
<term name="ordinal-44">ste</term>
|
465
|
-
<term name="ordinal-45">ste</term>
|
466
|
-
<term name="ordinal-46">ste</term>
|
467
|
-
<term name="ordinal-47">ste</term>
|
468
|
-
<term name="ordinal-49">ste</term>
|
469
|
-
|
470
|
-
<term name="ordinal-52">ste</term>
|
471
|
-
<term name="ordinal-53">ste</term>
|
472
|
-
<term name="ordinal-54">ste</term>
|
473
|
-
<term name="ordinal-55">ste</term>
|
474
|
-
<term name="ordinal-56">ste</term>
|
475
|
-
<term name="ordinal-57">ste</term>
|
476
|
-
<term name="ordinal-59">ste</term>
|
477
|
-
|
478
|
-
<term name="ordinal-62">ste</term>
|
479
|
-
<term name="ordinal-63">ste</term>
|
480
|
-
<term name="ordinal-64">ste</term>
|
481
|
-
<term name="ordinal-65">ste</term>
|
482
|
-
<term name="ordinal-66">ste</term>
|
483
|
-
<term name="ordinal-67">ste</term>
|
484
|
-
<term name="ordinal-69">ste</term>
|
485
|
-
|
486
|
-
<term name="ordinal-72">ste</term>
|
487
|
-
<term name="ordinal-73">ste</term>
|
488
|
-
<term name="ordinal-74">ste</term>
|
489
|
-
<term name="ordinal-75">ste</term>
|
490
|
-
<term name="ordinal-76">ste</term>
|
491
|
-
<term name="ordinal-77">ste</term>
|
492
|
-
<term name="ordinal-79">ste</term>
|
493
|
-
|
494
|
-
<term name="ordinal-82">ste</term>
|
495
|
-
<term name="ordinal-83">ste</term>
|
496
|
-
<term name="ordinal-84">ste</term>
|
497
|
-
<term name="ordinal-85">ste</term>
|
498
|
-
<term name="ordinal-86">ste</term>
|
499
|
-
<term name="ordinal-87">ste</term>
|
500
|
-
<term name="ordinal-89">ste</term>
|
501
|
-
|
502
|
-
<term name="ordinal-92">ste</term>
|
503
|
-
<term name="ordinal-93">ste</term>
|
504
|
-
<term name="ordinal-94">ste</term>
|
505
|
-
<term name="ordinal-95">ste</term>
|
506
|
-
<term name="ordinal-96">ste</term>
|
507
|
-
<term name="ordinal-97">ste</term>
|
508
|
-
<term name="ordinal-99">ste</term>
|
509
|
-
|
376
|
+
<term name="ordinal">ste</term>
|
377
|
+
|
378
|
+
<term name="ordinal-02" match="2-digits">de</term>
|
379
|
+
<term name="ordinal-03" match="2-digits">de</term>
|
380
|
+
<term name="ordinal-04" match="2-digits">de</term>
|
381
|
+
<term name="ordinal-05" match="2-digits">de</term>
|
382
|
+
<term name="ordinal-06" match="2-digits">de</term>
|
383
|
+
<term name="ordinal-07" match="2-digits">de</term>
|
384
|
+
<term name="ordinal-09" match="2-digits">de</term>
|
385
|
+
|
386
|
+
<term name="ordinal-10" match="2-digits">de</term>
|
387
|
+
<term name="ordinal-11" match="2-digits">de</term>
|
388
|
+
<term name="ordinal-12" match="2-digits">de</term>
|
389
|
+
<term name="ordinal-13" match="2-digits">de</term>
|
390
|
+
<term name="ordinal-14" match="2-digits">de</term>
|
391
|
+
<term name="ordinal-15" match="2-digits">de</term>
|
392
|
+
<term name="ordinal-16" match="2-digits">de</term>
|
393
|
+
<term name="ordinal-17" match="2-digits">de</term>
|
394
|
+
<term name="ordinal-18" match="2-digits">de</term>
|
395
|
+
<term name="ordinal-19" match="2-digits">de</term>
|
510
396
|
</terms>
|
511
397
|
</locale>
|
512
398
|
"""
|
@@ -548,6 +434,12 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
548
434
|
| 111 |
|
549
435
|
| 112 |
|
550
436
|
| 113 |
|
437
|
+
| 142 |
|
438
|
+
| 163 |
|
439
|
+
| 1216 |
|
440
|
+
| 919 |
|
441
|
+
| 379 |
|
442
|
+
| 420 |
|
551
443
|
Then the ordinals should be:
|
552
444
|
| ordinal |
|
553
445
|
| 0ste |
|
@@ -586,17 +478,23 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
586
478
|
| 111de |
|
587
479
|
| 112de |
|
588
480
|
| 113de |
|
589
|
-
|
590
|
-
|
481
|
+
| 142ste |
|
482
|
+
| 163ste |
|
483
|
+
| 1216de |
|
484
|
+
| 919de |
|
485
|
+
| 379ste |
|
486
|
+
| 420ste |
|
487
|
+
|
488
|
+
@v1.0.1 @locale @ordinals @i18n @gender @lang-es
|
591
489
|
Scenario: Gendered Spanish CSL 1.0.1 locales
|
592
490
|
Given the locale:
|
593
491
|
"""
|
594
492
|
<?xml version="1.0" encoding="utf-8"?>
|
595
493
|
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="es">
|
596
494
|
<terms>
|
597
|
-
<term name="ordinal
|
598
|
-
<term name="ordinal
|
599
|
-
<term name="ordinal
|
495
|
+
<term name="ordinal">.º</term>
|
496
|
+
<term name="ordinal" gender-form="masculine">.º</term>
|
497
|
+
<term name="ordinal" gender-form="feminine">.ª</term>
|
600
498
|
</terms>
|
601
499
|
</locale>
|
602
500
|
"""
|
@@ -636,7 +534,6 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
636
534
|
| ordinal |
|
637
535
|
| 0.º |
|
638
536
|
| 1.º |
|
639
|
-
# | 1.er |
|
640
537
|
| 2.º |
|
641
538
|
| 3.º |
|
642
539
|
| 4.º |
|
@@ -649,12 +546,9 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
649
546
|
| 1.ª |
|
650
547
|
| 1.º |
|
651
548
|
| 1.º |
|
652
|
-
# | 1.er |
|
653
|
-
# | 1.er |
|
654
549
|
| 1.º |
|
655
550
|
| 3.ª |
|
656
551
|
| 3.º |
|
657
|
-
# | 3.er |
|
658
552
|
| 2.ª |
|
659
553
|
| 23.º |
|
660
554
|
| 999.º |
|
@@ -663,28 +557,23 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
663
557
|
| 11.º |
|
664
558
|
| 21.º |
|
665
559
|
| 101.º |
|
666
|
-
# | 21.er |
|
667
|
-
# | 101.er |
|
668
560
|
| 1001.ª |
|
669
561
|
| 301.º |
|
670
|
-
# | 301.er |
|
671
562
|
| 21.º |
|
672
|
-
# | 21.er |
|
673
563
|
| 21.º |
|
674
564
|
| 1001.º |
|
675
|
-
# | 1001.er |
|
676
565
|
|
677
566
|
|
678
|
-
@v1.0.1 @locale @ordinals @i18n @gender @lang
|
567
|
+
@v1.0.1 @locale @ordinals @i18n @gender @lang-it
|
679
568
|
Scenario: Gendered Italian CSL 1.0.1 locales
|
680
569
|
Given the locale:
|
681
570
|
"""
|
682
571
|
<?xml version="1.0" encoding="utf-8"?>
|
683
572
|
<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="it">
|
684
573
|
<terms>
|
685
|
-
<term name="ordinal
|
686
|
-
<term name="ordinal
|
687
|
-
<term name="ordinal
|
574
|
+
<term name="ordinal">º</term>
|
575
|
+
<term name="ordinal" gender-form="masculine">º</term>
|
576
|
+
<term name="ordinal" gender-form="feminine">ª</term>
|
688
577
|
</terms>
|
689
578
|
</locale>
|
690
579
|
"""
|
@@ -722,181 +611,181 @@ Feature: Converting numbers to ordinals using CSL locales
|
|
722
611
|
| 1001 | | masculine | |
|
723
612
|
Then the ordinals should be:
|
724
613
|
| ordinal |
|
725
|
-
| 0º
|
726
|
-
| 1º
|
727
|
-
| 2º
|
728
|
-
| 3º
|
729
|
-
| 4º
|
730
|
-
| 5º
|
731
|
-
| 6º
|
732
|
-
| 7º
|
733
|
-
| 8º
|
734
|
-
| 9º
|
735
|
-
| 10º
|
736
|
-
| 1ª
|
737
|
-
| 1º
|
738
|
-
| 1º
|
739
|
-
| 1º
|
740
|
-
| 3ª
|
741
|
-
| 3º
|
742
|
-
| 2ª
|
743
|
-
| 23º
|
744
|
-
| 999º
|
745
|
-
| 11º
|
746
|
-
| 11ª
|
747
|
-
| 11º
|
748
|
-
| 21º
|
749
|
-
| 101º
|
750
|
-
| 1001ª
|
751
|
-
| 301º
|
752
|
-
| 21º
|
753
|
-
| 21º
|
754
|
-
| 1001º
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
# | 101 | | | |
|
830
|
-
# | 1001 | | feminine | |
|
831
|
-
# | 301 | | | |
|
832
|
-
|
833
|
-
|
834
|
-
# | 1001 | | masculine | |
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
# | 101:e |
|
859
|
-
# | 1001:e |
|
860
|
-
# | 301:e |
|
861
|
-
|
862
|
-
|
863
|
-
# | 1001:e |
|
864
|
-
|
865
|
-
@v1.0.1 @locale @ordinals @i18n @gender @lang
|
866
|
-
Scenario: Gendered Polish CSL 1.0.1 locales
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
614
|
+
| 0º |
|
615
|
+
| 1º |
|
616
|
+
| 2º |
|
617
|
+
| 3º |
|
618
|
+
| 4º |
|
619
|
+
| 5º |
|
620
|
+
| 6º |
|
621
|
+
| 7º |
|
622
|
+
| 8º |
|
623
|
+
| 9º |
|
624
|
+
| 10º |
|
625
|
+
| 1ª |
|
626
|
+
| 1º |
|
627
|
+
| 1º |
|
628
|
+
| 1º |
|
629
|
+
| 3ª |
|
630
|
+
| 3º |
|
631
|
+
| 2ª |
|
632
|
+
| 23º |
|
633
|
+
| 999º |
|
634
|
+
| 11º |
|
635
|
+
| 11ª |
|
636
|
+
| 11º |
|
637
|
+
| 21º |
|
638
|
+
| 101º |
|
639
|
+
| 1001ª |
|
640
|
+
| 301º |
|
641
|
+
| 21º |
|
642
|
+
| 21º |
|
643
|
+
| 1001º |
|
644
|
+
|
645
|
+
# @v1.0.1 @locale @ordinals @i18n @gender @lang-sv
|
646
|
+
# Scenario: Gendered Swedish CSL 1.0.1 locales
|
647
|
+
# Given the locale:
|
648
|
+
# """
|
649
|
+
# <?xml version="1.0" encoding="utf-8"?>
|
650
|
+
# <locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="sv">
|
651
|
+
# <terms>
|
652
|
+
# <term name="ordinal-00">:e</term>
|
653
|
+
#
|
654
|
+
# <term name="ordinal-01">:a</term>
|
655
|
+
# <term name="ordinal-01" gender-form="masculine">:e</term>
|
656
|
+
# <term name="ordinal-01" gender-form="feminine">:a</term>
|
657
|
+
#
|
658
|
+
# <term name="ordinal-02">:a</term>
|
659
|
+
# <term name="ordinal-02" gender-form="masculine">:e</term>
|
660
|
+
# <term name="ordinal-02" gender-form="feminine">:a</term>
|
661
|
+
#
|
662
|
+
# <term name="ordinal-11">:e</term>
|
663
|
+
# <term name="ordinal-11" gender-form="feminine">:e</term>
|
664
|
+
# <term name="ordinal-12">:e</term>
|
665
|
+
# <term name="ordinal-12" gender-form="feminine">:e</term>
|
666
|
+
#
|
667
|
+
# <term name="ordinal-21">:e</term>
|
668
|
+
# <term name="ordinal-21" gender-form="feminine">:e</term>
|
669
|
+
# <term name="ordinal-22">:e</term>
|
670
|
+
# <term name="ordinal-22" gender-form="feminine">:e</term>
|
671
|
+
#
|
672
|
+
# <term name="ordinal-31">:e</term>
|
673
|
+
# <term name="ordinal-32">:e</term>
|
674
|
+
#
|
675
|
+
# <term name="ordinal-41">:e</term>
|
676
|
+
# <term name="ordinal-42">:e</term>
|
677
|
+
#
|
678
|
+
# <term name="ordinal-51">:e</term>
|
679
|
+
# <term name="ordinal-52">:e</term>
|
680
|
+
#
|
681
|
+
# <term name="ordinal-61">:e</term>
|
682
|
+
# <term name="ordinal-62">:e</term>
|
683
|
+
#
|
684
|
+
# <term name="ordinal-71">:e</term>
|
685
|
+
# <term name="ordinal-72">:e</term>
|
686
|
+
#
|
687
|
+
# <term name="ordinal-81">:e</term>
|
688
|
+
# <term name="ordinal-82">:e</term>
|
689
|
+
#
|
690
|
+
# <term name="ordinal-91">:e</term>
|
691
|
+
# <term name="ordinal-92">:e</term>
|
692
|
+
# </terms>
|
693
|
+
# </locale>
|
694
|
+
# """
|
695
|
+
# When I ordinalize these numbers:
|
696
|
+
# | num | form | gender | number |
|
697
|
+
# | 0 | | | |
|
698
|
+
# | 1 | | | |
|
699
|
+
# | 2 | | | |
|
700
|
+
# | 3 | | | |
|
701
|
+
# | 4 | | | |
|
702
|
+
# | 5 | | | |
|
703
|
+
# | 6 | | | |
|
704
|
+
# | 7 | | | |
|
705
|
+
# | 8 | | | |
|
706
|
+
# | 9 | | | |
|
707
|
+
# | 10 | | | |
|
708
|
+
# | 1 | | feminine | |
|
709
|
+
# | 1 | | masculine | |
|
710
|
+
# | 2 | | feminine | |
|
711
|
+
# | 2 | | masculine | |
|
712
|
+
# | 23 | | | |
|
713
|
+
# | 999 | | | |
|
714
|
+
# | 11 | | | |
|
715
|
+
# | 11 | | feminine | |
|
716
|
+
# | 11 | | masculine | |
|
717
|
+
# | 21 | | | |
|
718
|
+
# # | 101 | | | |
|
719
|
+
# # | 1001 | | feminine | |
|
720
|
+
# # | 301 | | | |
|
721
|
+
# | 21 | | masculine | singular |
|
722
|
+
# | 21 | | masculine | plural |
|
723
|
+
# # | 1001 | | masculine | |
|
724
|
+
# Then the ordinals should be:
|
725
|
+
# | ordinal |
|
726
|
+
# | 0:e |
|
727
|
+
# | 1:a |
|
728
|
+
# | 2:a |
|
729
|
+
# | 3:e |
|
730
|
+
# | 4:e |
|
731
|
+
# | 5:e |
|
732
|
+
# | 6:e |
|
733
|
+
# | 7:e |
|
734
|
+
# | 8:e |
|
735
|
+
# | 9:e |
|
736
|
+
# | 10:e |
|
737
|
+
# | 1:a |
|
738
|
+
# | 1:e |
|
739
|
+
# | 2:a |
|
740
|
+
# | 2:e |
|
741
|
+
# | 23:e |
|
742
|
+
# | 999:e |
|
743
|
+
# | 11:e |
|
744
|
+
# | 11:e |
|
745
|
+
# | 11:e |
|
746
|
+
# | 21:e |
|
747
|
+
# # | 101:e |
|
748
|
+
# # | 1001:e |
|
749
|
+
# # | 301:e |
|
750
|
+
# | 21:e |
|
751
|
+
# | 21:e |
|
752
|
+
# # | 1001:e |
|
753
|
+
|
754
|
+
# @v1.0.1 @locale @ordinals @i18n @gender @lang-pl
|
755
|
+
# Scenario: Gendered Polish CSL 1.0.1 locales
|
756
|
+
# Given the locale:
|
757
|
+
# """
|
758
|
+
# <?xml version="1.0" encoding="utf-8"?>
|
759
|
+
# <locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0.1" xml:lang="pl">
|
760
|
+
# <terms>
|
761
|
+
# <term name="ordinal-00">:e</term>
|
762
|
+
#
|
763
|
+
# </terms>
|
764
|
+
# </locale>
|
765
|
+
# """
|
766
|
+
# When I ordinalize these numbers:
|
767
|
+
# | num | form | gender | number |
|
768
|
+
# | 0 | | | |
|
769
|
+
# | 1 | | | |
|
770
|
+
# | 2 | | | |
|
771
|
+
# | 3 | | | |
|
772
|
+
# | 4 | | | |
|
773
|
+
# | 5 | | | |
|
774
|
+
# | 6 | | | |
|
775
|
+
# | 7 | | | |
|
776
|
+
# | 8 | | | |
|
777
|
+
# | 9 | | | |
|
778
|
+
# | 10 | | | |
|
779
|
+
# | 1 | | feminine | |
|
780
|
+
# | 1 | | masculine | |
|
781
|
+
# | 2 | | feminine | |
|
782
|
+
# | 2 | | masculine | |
|
783
|
+
# | 23 | | | |
|
784
|
+
# | 999 | | | |
|
785
|
+
# | 11 | | | |
|
786
|
+
# | 11 | | feminine | |
|
787
|
+
# | 11 | | masculine | |
|
788
|
+
# | 21 | | | |
|
900
789
|
# Then the ordinals should be:
|
901
790
|
# | ordinal |
|
902
791
|
# | 0:e |
|