diff options
| author | 2017-03-10 13:32:30 -0800 | |
|---|---|---|
| committer | 2017-03-10 22:41:46 +0100 | |
| commit | 7362ca0dcb61ec70ad88f74873f459702c5c0dde (patch) | |
| tree | 97b6470602d893ef50fc0d8e846d48b262d830e6 | |
| parent | ba70b11f40b960bf09d2a43e106bdad196cc158b (diff) | |
| download | askama-7362ca0dcb61ec70ad88f74873f459702c5c0dde.tar.gz askama-7362ca0dcb61ec70ad88f74873f459702c5c0dde.tar.bz2 askama-7362ca0dcb61ec70ad88f74873f459702c5c0dde.zip  | |
Add `lower` and `upper` filters
Diffstat (limited to '')
| -rw-r--r-- | askama/src/filters.rs | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/askama/src/filters.rs b/askama/src/filters.rs index 3f6aede..bd64bb0 100644 --- a/askama/src/filters.rs +++ b/askama/src/filters.rs @@ -57,6 +57,28 @@ pub fn e(s: &fmt::Display) -> String {  /// the Askama code generator.  pub fn format() { } +/// Converts to lowercase. +pub fn lower(s: &fmt::Display) -> String { +    let s = format!("{}", s); +    s.to_lowercase() +} + +/// Alias for the `lower()` filter. +pub fn lowercase(s: &fmt::Display) -> String { +    lower(s) +} + +/// Converts to uppercase. +pub fn upper(s: &fmt::Display) -> String { +    let s = format!("{}", s); +    s.to_uppercase() +} + +/// Alias for the `upper()` filter. +pub fn uppercase(s: &fmt::Display) -> String { +    upper(s) +} +  #[cfg(test)]  mod tests {      use super::*; @@ -66,5 +88,15 @@ mod tests {          assert_eq!(escape(&"<&>"), "<&>");          assert_eq!(escape(&"bla&"), "bla&");          assert_eq!(escape(&"<foo"), "<foo"); + +        assert_eq!(lower(&"Foo"), "foo"); +        assert_eq!(lower(&"FOO"), "foo"); +        assert_eq!(lower(&"FooBar"), "foobar"); +        assert_eq!(lower(&"foo"), "foo"); + +        assert_eq!(upper(&"Foo"), "FOO"); +        assert_eq!(upper(&"FOO"), "FOO"); +        assert_eq!(upper(&"FooBar"), "FOOBAR"); +        assert_eq!(upper(&"foo"), "FOO");      }  }  | 
