Skip to content

Commit 2089bf8

Browse files
committed
Add coverage for combining characters and precomposed characters
1 parent e05ba49 commit 2089bf8

File tree

1 file changed

+43
-14
lines changed

1 file changed

+43
-14
lines changed

tests/unicode.json

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,49 +38,78 @@
3838
{
3939
"given": {},
4040
"cases": [
41-
{
41+
{
42+
"expression": "'é' == 'e\u0301'",
43+
"result": false
44+
}
45+
]
46+
},
47+
{
48+
"given": {},
49+
"cases": [
50+
{
4251
"expression": "length('𝌆')",
4352
"result": 1
53+
},
54+
{
55+
"expression": "length('é')",
56+
"result": 1
57+
},
58+
{
59+
"expression": "length('e\u0301')",
60+
"result": 2
4461
}
4562
]
4663
},
4764
{
4865
"given": {},
4966
"cases": [
50-
{
67+
{
5168
"expression": "reverse('a𝌆b')",
5269
"result": "b𝌆a"
70+
},
71+
{
72+
"expression": "reverse('aéb')",
73+
"result": "béa"
74+
},
75+
{
76+
"expression": "reverse('xe\u0303y')",
77+
"result": "y\u0303ex"
5378
}
5479
]
5580
},
5681
{
5782
"given": {
58-
"strings": ["𝌆", "", "style", ""]
83+
"strings": ["é", "e\u0301", "𝌆", "", "style", ""]
5984
},
6085
"cases": [
6186
{
6287
"expression": "sort(strings)",
63-
"result": ["", "", "style", "𝌆"]
88+
"result": ["e\u0301", "é", "", "", "style", "𝌆"]
6489
}
6590
]
6691
},
6792
{
6893
"given": {
69-
"characters": [
70-
{"character": "𝌆", "codePoint": 119558, "name": "TETRAGRAM FOR CENTRE"},
71-
{"character": "", "codePoint": 64262, "name": "LATIN SMALL LIGATURE ST"},
72-
{"character": "", "codePoint": 64256, "name": "LATIN SMALL LIGATURE FF"},
73-
{"character": "", "codePoint": 64259, "name": "LATIN SMALL LIGATURE FFI"}
94+
"graphemeClusters": [
95+
{"string": "é", "codePoints": 233, "name": "LATIN SMALL LETTER E WITH ACUTE"},
96+
{"string": "", "codePoints": [101, 769], "name": "LATIN SMALL LETTER E + COMBINING ACUTE ACCENT"},
97+
{"string": "𝌆", "codePoints": 119558, "name": "TETRAGRAM FOR CENTRE"},
98+
{"string": "", "codePoints": 64262, "name": "LATIN SMALL LIGATURE ST"},
99+
{"string": "", "codePoints": 64256, "name": "LATIN SMALL LIGATURE FF"},
100+
{"string": "", "codePoints": 64259, "name": "LATIN SMALL LIGATURE FFI"}
74101
]
75102
},
76103
"cases": [
77104
{
78-
"expression": "sort_by(characters, &character)",
105+
"expression": "sort_by(graphemeClusters, &string)",
79106
"result": [
80-
{"character": "", "codePoint": 64256, "name": "LATIN SMALL LIGATURE FF"},
81-
{"character": "", "codePoint": 64259, "name": "LATIN SMALL LIGATURE FFI"},
82-
{"character": "", "codePoint": 64262, "name": "LATIN SMALL LIGATURE ST"},
83-
{"character": "𝌆", "codePoint": 119558, "name": "TETRAGRAM FOR CENTRE"}
107+
{"string": "", "codePoints": [101, 769], "name": "LATIN SMALL LETTER E + COMBINING ACUTE ACCENT"},
108+
{"string": "é", "codePoints": 233, "name": "LATIN SMALL LETTER E WITH ACUTE"},
109+
{"string": "", "codePoints": 64256, "name": "LATIN SMALL LIGATURE FF"},
110+
{"string": "", "codePoints": 64259, "name": "LATIN SMALL LIGATURE FFI"},
111+
{"string": "", "codePoints": 64262, "name": "LATIN SMALL LIGATURE ST"},
112+
{"string": "𝌆", "codePoints": 119558, "name": "TETRAGRAM FOR CENTRE"}
84113
]
85114
}
86115
]

0 commit comments

Comments
 (0)