aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--askama_derive/src/config.rs30
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");
+ }
+ }
}