tangle_indexer


git clone https://radroots.dev/git/tangle_indexer.git
Log | Files | Refs | Submodules | LICENSE

strings.rs (687B)


      1 pub fn truncate_log(s: &str, max: usize) -> &str {
      2     if s.len() > max {
      3         let mut idx = max;
      4         while idx > 0 && !s.is_char_boundary(idx) {
      5             idx -= 1;
      6         }
      7         &s[..idx]
      8     } else {
      9         s
     10     }
     11 }
     12 
     13 #[cfg(test)]
     14 mod tests {
     15     use super::truncate_log;
     16 
     17     #[test]
     18     fn truncate_log_no_change_when_under_limit() {
     19         let value = "alpha";
     20         assert_eq!(truncate_log(value, 10), value);
     21     }
     22 
     23     #[test]
     24     fn truncate_log_respects_char_boundary() {
     25         let value = "a✓b";
     26         assert_eq!(truncate_log(value, 2), "a");
     27         assert_eq!(truncate_log(value, 3), "a");
     28         assert_eq!(truncate_log(value, 4), "a✓");
     29     }
     30 }