зеркало из
https://github.com/glebtv/tui-textarea.git
synced 2026-09-07 07:55:50 +03:00
add tests for multi-bytes characters
Этот коммит содержится в:
@@ -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 {
|
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 {
|
for test in tests {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user