diff options
author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2023-03-07 12:14:07 +0100 |
---|---|---|
committer | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2023-03-13 14:41:05 +0100 |
commit | 40be079d5d0ea988303cd70034d11c92fbb8fa39 (patch) | |
tree | de3ddcb2ec3a3c11d521e6bc5568f3ec2c8e546a /askama_derive/src | |
parent | 3ea521d6e88150dd4307ad610cabfe0fb8f30f9d (diff) | |
download | askama-40be079d5d0ea988303cd70034d11c92fbb8fa39.tar.gz askama-40be079d5d0ea988303cd70034d11c92fbb8fa39.tar.bz2 askama-40be079d5d0ea988303cd70034d11c92fbb8fa39.zip |
Add tests for whitespace argument in template derive proc-macro
Diffstat (limited to 'askama_derive/src')
-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"); + } + } } |