Parent [>]
1//! Custom Askama filters.
2
3/// Returns `singular` if `count == 1`, otherwise `plural`.
4pub fn pluralize(count: &usize, singular: &str, plural: &str) -> askama::Result<String> {
5    Ok(if *count == 1 {
6        singular.to_string()
7    } else {
8        plural.to_string()
9    })
10}
11
12#[cfg(test)]
13mod tests {
14    use super::*;
15
16    #[test]
17    fn pluralize_singular() {
18        assert_eq!(pluralize(&1, "item", "items").unwrap(), "item");
19    }
20
21    #[test]
22    fn pluralize_zero() {
23        assert_eq!(pluralize(&0, "item", "items").unwrap(), "items");
24    }
25
26    #[test]
27    fn pluralize_multiple() {
28        assert_eq!(pluralize(&3, "item", "items").unwrap(), "items");
29    }
30}