From 44b975706ce4f90475b271c07e801d308e31dffc Mon Sep 17 00:00:00 2001 From: Ronny Bremer Date: Sun, 4 Feb 2024 11:51:39 +0100 Subject: [PATCH] added test case with multibyte characters for split_line --- src/generator/ical.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/generator/ical.rs b/src/generator/ical.rs index fe649c2..e83b07d 100644 --- a/src/generator/ical.rs +++ b/src/generator/ical.rs @@ -86,6 +86,14 @@ mod should { assert_eq!(text, split_line(text.replace("\r\n ", ""))); } + #[test] + fn split_long_line_multibyte() { + // the following text includes multibyte characters (UTF-8) at strategic places to ensure + // split_line would panic if not multibyte aware + let text = "DESCRIPTION:ABCDEFGHIJ\\n\\nKLMNOPQRSTUVWXYZ123456789üABCDEFGHIJKLMNOPQRS\\n\\nTUVWXYZ123456ä7890ABCDEFGHIJKLM\\n\\nNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXöYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWX\\n\\nYZ1234567890abcdefghiÜjklm\\nnopqrstuvwx"; + assert_eq!(text, split_line(text.replace("\r\n ", ""))); + } + #[test] fn protect_chars_in_params() { assert_eq!(