Skip to main content

apollo/
text.rs

1//! Small text utilities shared across tools and providers.
2
3pub fn truncate_chars(text: &str, max_chars: usize) -> String {
4    text.chars().take(max_chars).collect()
5}
6
7#[cfg(test)]
8mod tests {
9    use super::*;
10
11    #[test]
12    fn test_truncate_chars() {
13        assert_eq!(truncate_chars("hello world", 5), "hello");
14        assert_eq!(truncate_chars("hello", 5), "hello");
15        assert_eq!(truncate_chars("hi", 5), "hi");
16        assert_eq!(truncate_chars("hello", 0), "");
17        assert_eq!(truncate_chars("", 5), "");
18        assert_eq!(truncate_chars("πŸ‘‹πŸŒŽ", 1), "πŸ‘‹");
19        assert_eq!(truncate_chars("πŸ‘‹πŸŒŽ", 2), "πŸ‘‹πŸŒŽ");
20        assert_eq!(truncate_chars("こんにけは", 2), "こん");
21        assert_eq!(truncate_chars("μ•ˆλ…•ν•˜μ„Έμš”", 3), "μ•ˆλ…•ν•˜");
22        assert_eq!(truncate_chars("δ½ ε₯½δΈ–η•Œ", 1), "δ½ ");
23    }
24}