1
0
зеркало из https://github.com/glebtv/tui-textarea.git synced 2026-08-28 11:36:17 +03:00

add tests for multi-bytes characters

Этот коммит содержится в:
rhysd
2023-11-03 02:31:27 +09:00
родитель 2e51246ba5
Коммит a7731be860
2 изменённых файлов: 177 добавлений и 0 удалений

Просмотреть файл

@@ -525,6 +525,97 @@ mod tests {
"",
][..],
),
// Multi-byte characters
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(0, 0),
&[
"🐷", "🐼", "🐴",
][..],
&[
"🐷",
"🐼",
"🐴🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(0, 4 * 2),
&[
"🐷", "🐼", "🐴",
][..],
&[
"🐶🐱🐷",
"🐼",
"🐴",
"🐮🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(1, 0),
&[
"🐷", "🐼", "🐴",
][..],
&[
"🐶🐱",
"🐷",
"🐼",
"🐴🐮🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(1, 4 * 1),
&[
"🐷", "🐼", "🐴",
][..],
&[
"🐶🐱",
"🐮🐷",
"🐼",
"🐴🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(2, 4 * 2),
&[
"🐷", "🐼", "🐴",
][..],
&[
"🐶🐱",
"🐮🐰",
"🐧🐭🐷",
"🐼",
"🐴",
][..],
),
];
for (before, pos, input, expected) in tests {

Просмотреть файл

@@ -375,6 +375,92 @@ fn test_insert_str_multiple_lines() {
"",
][..],
),
// Multi-byte characters
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(0, 0),
"🐷\n🐼\n🐴",
(2, 1),
&[
"🐷",
"🐼",
"🐴🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(0, 2),
"🐷\n🐼\n🐴",
(2, 1),
&[
"🐶🐱🐷",
"🐼",
"🐴",
"🐮🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(1, 0),
"🐷\n🐼\n🐴",
(3, 1),
&[
"🐶🐱",
"🐷",
"🐼",
"🐴🐮🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(1, 1),
"🐷\n🐼\n🐴",
(3, 1),
&[
"🐶🐱",
"🐮🐷",
"🐼",
"🐴🐰",
"🐧🐭",
][..],
),
(
&[
"🐶🐱",
"🐮🐰",
"🐧🐭",
][..],
(2, 2),
"🐷\n🐼\n🐴",
(4, 1),
&[
"🐶🐱",
"🐮🐰",
"🐧🐭🐷",
"🐼",
"🐴",
][..],
),
];
for test in tests {