diff options
Diffstat (limited to 'tests/suite/model/numbering.typ')
| -rw-r--r-- | tests/suite/model/numbering.typ | 166 |
1 files changed, 52 insertions, 114 deletions
diff --git a/tests/suite/model/numbering.typ b/tests/suite/model/numbering.typ index 55c24f65..93c9e1b3 100644 --- a/tests/suite/model/numbering.typ +++ b/tests/suite/model/numbering.typ @@ -1,120 +1,58 @@ // Test integrated numbering patterns. ---- numbering-symbol-and-roman --- -#for i in range(0, 9) { - numbering("*", i) - [ and ] - numbering("I.a", i, i) - [ for #i \ ] -} - ---- numbering-latin --- -#for i in range(0, 4) { - numbering("A", i) - [ for #i \ ] -} -... \ -#for i in range(26, 30) { - numbering("A", i) - [ for #i \ ] -} -... \ -#for i in range(702, 706) { - numbering("A", i) - [ for #i \ ] -} - ---- numbering-hebrew --- -#set text(lang: "he") -#for i in range(9, 21, step: 2) { - numbering("א.", i) - [ עבור #i \ ] -} - ---- numbering-chinese --- -#set text(lang: "zh", font: ("Linux Libertine", "Noto Serif CJK SC")) -#for i in range(9, 21, step: 2){ - numbering("一", i) - [ and ] - numbering("壹", i) - [ for #i \ ] -} - ---- numbering-japanese-iroha --- -#set text(lang: "ja", font: ("Linux Libertine", "Noto Serif CJK JP")) -#for i in range(0, 4) { - numbering("イ", i) - [ (or ] - numbering("い", i) - [) for #i \ ] -} -... \ -#for i in range(47, 51) { - numbering("イ", i) - [ (or ] - numbering("い", i) - [) for #i \ ] -} -... \ -#for i in range(2256, 2260) { - numbering("イ", i) - [ for #i \ ] -} - ---- numbering-korean --- -#set text(lang: "ko", font: ("Linux Libertine", "Noto Serif CJK KR")) -#for i in range(0, 4) { - numbering("가", i) - [ (or ] - numbering("ㄱ", i) - [) for #i \ ] -} -... \ -#for i in range(47, 51) { - numbering("가", i) - [ (or ] - numbering("ㄱ", i) - [) for #i \ ] -} -... \ -#for i in range(2256, 2260) { - numbering("ㄱ", i) - [ for #i \ ] -} - ---- numbering-japanese-aiueo --- -#set text(lang: "jp", font: ("Linux Libertine", "Noto Serif CJK JP")) -#for i in range(0, 9) { - numbering("あ", i) - [ and ] - numbering("I.あ", i, i) - [ for #i \ ] -} - -#for i in range(0, 9) { - numbering("ア", i) - [ and ] - numbering("I.ア", i, i) - [ for #i \ ] -} - ---- numbering-arabic-indic --- -#assert.eq(numbering("\u{0661}", 1475), "١٤٧٥") -#assert.eq(numbering("\u{06F1}", 1475), "۱۴۷۵") - ---- numbering-devanagari-number --- -#assert.eq(numbering("\u{0967}", 1), "१") -#assert.eq(numbering("\u{0967}", 10), "१०") -#assert.eq(numbering("\u{0967}", 123456789), "१२३४५६७८९") +--- numbering --- +#let t(pat: "1", step: 1, ..vals) = { + let num = 0 + for val in vals.pos() { + if type(val) == int { + num = val + } else { + test(numbering(pat, num), val) + num += step + } + } +} + +// Arabic. +#t(pat: "1", "0", "1", "2", "3", "4", "5", "6", 107, "107", "108") + +// Symbols. +#t(pat: "*", "-", "*", "†", "‡", "§", "¶", "‖", "**") + +// Hebrew. +#t(pat: "א", step: 2, 9, "ט׳", "י״א", "י״ג") + +// Chinese. +#t(pat: "一", step: 2, 9, "九", "十一", "十三", "十五", "十七", "十九") +#t(pat: "壹", step: 2, 9, "玖", "拾壹", "拾叁", "拾伍", "拾柒", "拾玖") + +// Japanese. +#t(pat: "イ", "-", "イ", "ロ", "ハ", 47, "ス", "イイ", "イロ", "イハ", 2256, "スス", "イイイ") +#t(pat: "い", "-", "い", "ろ", "は", 47, "す", "いい", "いろ", "いは") +#t(pat: "あ", "-", "あ", "い", "う", "え", "お", "か", "き", "く") +#t(pat: "ア", "-", "ア", "イ", "ウ", "エ", "オ", "カ", "キ", "ク") + +// Korean. +#t(pat: "가", "-", "가", "나", "다", 47, "다마", "다바", "다사", "다아") +#t(pat: "ㄱ", "-", "ㄱ", "ㄴ", "ㄷ", 47, "ㄷㅁ") + +// Arabic Indic. +#t(pat: "\u{0661}", 1475, "١٤٧٥") +#t(pat: "\u{06F1}", 1475, "۱۴۷۵") + +// Devanagari. +#t(pat: "\u{0967}", 1, "१") +#t(pat: "\u{0967}", 10, "१०") +#t(pat: "\u{0967}", 123456789, "१२३४५६७८९") + +// Circled number. +#t(pat: "①", 1, "①") +#t(pat: "①", 50, "㊿") + +// Double-circled number. +#t(pat: "⓵", 1, "⓵") +#t(pat: "⓵", 10, "⓾") --- numbering-negative --- // Error: 17-19 number must be at least zero #numbering("1", -1) - ---- numbering-circled-number --- -#assert.eq(numbering("①", 1), "①") -#assert.eq(numbering("①", 50), "㊿") - ---- numbering-double-circled-number --- -#assert.eq(numbering("⓵", 1), "⓵") -#assert.eq(numbering("⓵", 10), "⓾") |
