diff options
Diffstat (limited to 'askama_derive')
| -rw-r--r-- | askama_derive/src/config.rs | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/askama_derive/src/config.rs b/askama_derive/src/config.rs index 22aada7..cf22a72 100644 --- a/askama_derive/src/config.rs +++ b/askama_derive/src/config.rs @@ -549,4 +549,34 @@ mod tests {          .unwrap();          assert_eq!(config.whitespace, WhitespaceHandling::Minimize);      } + +    #[cfg(feature = "toml")] +    #[test] +    fn test_whitespace_in_template() { +        // Checking that template arguments have precedence over general configuration. +        // So in here, in the template arguments, there is `whitespace = "minimize"` so +        // the `WhitespaceHandling` should be `Minimize` as well. +        let config = Config::new( +            r#" +            [general] +            whitespace = "suppress" +            "#, +            Some(&"minimize".to_owned()), +        ) +        .unwrap(); +        assert_eq!(config.whitespace, WhitespaceHandling::Minimize); + +        let config = Config::new(r#""#, Some(&"minimize".to_owned())).unwrap(); +        assert_eq!(config.whitespace, WhitespaceHandling::Minimize); +    } + +    #[test] +    fn test_config_whitespace_error() { +        let config = Config::new(r#""#, Some(&"trim".to_owned())); +        if let Err(err) = config { +            assert_eq!(err.msg, "invalid value for `whitespace`: \"trim\""); +        } else { +            panic!("Config::new should have return an error"); +        } +    }  } | 
