From 7c68f818dd606f091e30eab0612eb1105dfa1e28 Mon Sep 17 00:00:00 2001 From: Leynos Date: Tue, 15 Jul 2025 08:02:35 +0100 Subject: [PATCH 1/4] Add test for wrapping hyphenated words --- src/lib.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 5468c4ea..7e074a0e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -759,6 +759,26 @@ mod tests { ); } + #[test] + fn wrap_text_does_not_insert_spaces_in_hyphenated_words() { + let input = vec![ + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt elit-sed \ + fermentum congue. Vivamus dictum nulla sed consectetur volutpat." + .to_string(), + ]; + let wrapped = wrap_text(&input, 80); + assert_eq!( + wrapped, + vec![ + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt" + .to_string(), + "elit-sed fermentum congue. Vivamus dictum nulla sed consectetur volutpat." + .to_string(), + ] + ); + assert!(wrapped.iter().all(|line| !line.contains("elit- sed"))); + } + #[test] fn wrap_text_preserves_code_spans() { let input = vec![ From 6b9714bd8e1d5794fbf8b0e87b172d186379864e Mon Sep 17 00:00:00 2001 From: Leynos Date: Tue, 15 Jul 2025 12:09:42 +0100 Subject: [PATCH 2/4] Remove redundant assertion --- src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 7e074a0e..9b9bd784 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -776,7 +776,6 @@ mod tests { .to_string(), ] ); - assert!(wrapped.iter().all(|line| !line.contains("elit- sed"))); } #[test] From 54d23d9c3b4ede57bb8dbf85a5bf91263ce8dfee Mon Sep 17 00:00:00 2001 From: Leynos Date: Tue, 15 Jul 2025 12:17:55 +0100 Subject: [PATCH 3/4] Eliminate unintended multi-space gap introduced by the line continuation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- src/lib.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 9b9bd784..52f4232e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -762,9 +762,11 @@ mod tests { #[test] fn wrap_text_does_not_insert_spaces_in_hyphenated_words() { let input = vec![ - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt elit-sed \ - fermentum congue. Vivamus dictum nulla sed consectetur volutpat." - .to_string(), + concat!( + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt elit-sed ", + "fermentum congue. Vivamus dictum nulla sed consectetur volutpat." + ) + .to_string(), ]; let wrapped = wrap_text(&input, 80); assert_eq!( From 2738149d2fe0fb95f8283925f0354cd472cbfe94 Mon Sep 17 00:00:00 2001 From: Leynos Date: Tue, 15 Jul 2025 12:56:22 +0100 Subject: [PATCH 4/4] Add `#[rustfmt::skip]` --- src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib.rs b/src/lib.rs index 52f4232e..467e1224 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -762,6 +762,7 @@ mod tests { #[test] fn wrap_text_does_not_insert_spaces_in_hyphenated_words() { let input = vec![ + #[rustfmt::skip] concat!( "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt elit-sed ", "fermentum congue. Vivamus dictum nulla sed consectetur volutpat."