csl 1.0.0.pre5 → 1.0.0.pre6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 |
|