Skip to main content

sofie_engine/
label.rs

1#[must_use]
2pub fn humanize(name: &str) -> String {
3    let spaced = name.replace('_', " ");
4    let mut characters = spaced.trim().chars();
5    characters.next().map_or_else(String::new, |first| {
6        first.to_uppercase().chain(characters).collect()
7    })
8}
9
10#[cfg(test)]
11mod tests {
12    use super::humanize;
13
14    #[test]
15    fn humanizes_snake_case_names() {
16        assert_eq!(humanize("created_at"), "Created at");
17        assert_eq!(humanize("orders"), "Orders");
18        assert_eq!(humanize("_"), "");
19    }
20}