зеркало из
https://github.com/glebtv/tui-textarea.git
synced 2026-08-28 11:36:17 +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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Ссылка в новой задаче
Block a user