From e731144025b726670cd85d43acdd93b7636de338 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Tue, 19 Oct 2021 14:03:17 +0200 Subject: add formatting trait for irc codes add an impl off the formatting trait on String to format Strings with the typical irc formatting codes for bold, italic etc --- src/util/formatting.rs | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 src/util/formatting.rs (limited to 'src/util/formatting.rs') diff --git a/src/util/formatting.rs b/src/util/formatting.rs deleted file mode 100644 index c1b6257..0000000 --- a/src/util/formatting.rs +++ /dev/null @@ -1,50 +0,0 @@ -/// Truncates a string after a certain number of characters. -/// Function always tries to truncate on a word boundary. -/// Reimplemented from gonzobot. -pub fn truncate(text: &str, len: usize) -> String { - if text.len() <= len { - return text.to_string(); - } - format!( - "{}…", - text[..len] - .rsplitn(2, " ") - .collect::>() - .last() - .copied() - .expect("This can never happen >inb4 it happens") - ) -} - -#[cfg(test)] -mod tests { - use super::truncate; - - #[test] - fn test_truncate_with_input_of_lesser_length_than_limit() { - let input = "short text"; - let result = truncate(input, input.len() + 1); - assert_eq!(input, result) - } - - #[test] - fn test_truncate_with_input_of_equal_length_as_limit() { - let input = "short text"; - let result = truncate(input, input.len()); - assert_eq!(input, result) - } - - #[test] - fn test_truncate_with_input_of_greater_length_than_limit() { - let input = "some longer text"; - let result = truncate(input, input.len() - 1); - assert_eq!("some longer…", result) - } - - #[test] - fn test_truncate_with_input_of_greater_length_than_limit_oneword() { - let input = "somelongertext"; - let result = truncate(input, input.len() - 1); - assert_eq!("somelongertex…", result) - } -} -- cgit v1.2.3