diff options
| -rw-r--r-- | askama_shared/src/generator.rs | 15 | ||||
| -rw-r--r-- | testing/templates/allow-whitespaces.html | 3 | ||||
| -rw-r--r-- | testing/tests/whitespace.rs | 2 | 
3 files changed, 9 insertions, 11 deletions
| diff --git a/askama_shared/src/generator.rs b/askama_shared/src/generator.rs index e45acb6..f56ae4b 100644 --- a/askama_shared/src/generator.rs +++ b/askama_shared/src/generator.rs @@ -826,10 +826,11 @@ impl<'a, S: std::hash::BuildHasher> Generator<'a, S> {              return 0;          } -        if self.buf_writable.iter().all(|w| match w { -            Writable::Lit(_) => true, -            _ => false, -        }) { +        if self +            .buf_writable +            .iter() +            .all(|w| matches!(w, Writable::Lit(_))) +        {              let mut buf_lit = Buffer::new(0);              for s in mem::replace(&mut self.buf_writable, vec![]) {                  if let Writable::Lit(s) = s { @@ -1083,13 +1084,11 @@ impl<'a, S: std::hash::BuildHasher> Generator<'a, S> {                  buf.write("&");              } -            let scoped = match *arg { +            let scoped = matches!(arg,                  Expr::Filter(_, _)                  | Expr::MethodCall(_, _, _)                  | Expr::VarCall(_, _) -                | Expr::PathCall(_, _) => true, -                _ => false, -            }; +                | Expr::PathCall(_, _));              if scoped {                  buf.writeln("{"); diff --git a/testing/templates/allow-whitespaces.html b/testing/templates/allow-whitespaces.html index 80f7ecd..f1acc90 100644 --- a/testing/templates/allow-whitespaces.html +++ b/testing/templates/allow-whitespaces.html @@ -29,7 +29,7 @@  {{ array[..]| json }}{{ array [ .. ]| json }}  {{ array[1..2]| json }}{{ array [ 1 .. 2 ]| json }}  {{ array[1..=2]| json }}{{ array [ 1 ..= 2 ]| json }} -{{ array[(0+1)..(3-2)]| json }}{{ array [ ( 0 + 1 ) .. ( 3 - 2 ) ]| json }} +{{ array[(0+1)..(3-2)]| json }}{{ array [ ( 0 + 1 ) .. ( 3 - 1 ) ]| json }}  {{-1}}{{ -1 }}{{ - 1 }}  {{1+2}}{{ 1+2 }}{{ 1 +2 }}{{ 1+ 2 }} {{ 1 + 2 }} @@ -60,4 +60,3 @@  {#  {{ ::std::string::String::new () }}  #} - diff --git a/testing/tests/whitespace.rs b/testing/tests/whitespace.rs index befc7d1..92d6880 100644 --- a/testing/tests/whitespace.rs +++ b/testing/tests/whitespace.rs @@ -37,5 +37,5 @@ fn test_extra_whitespace() {      let mut template = AllowWhitespaces::default();      template.nested_1.nested_2.array = &["a0", "a1", "a2", "a3"];      template.nested_1.nested_2.hash.insert("key", "value"); -    assert_eq!(template.render().unwrap(), "\n0\n0\n0\n0\n\n\n\n0\n0\n0\n0\n0\n\na0\na1\nvalue\n\n\n\n\n\n[\n  \"a0\",\n  \"a1\",\n  \"a2\",\n  \"a3\"\n]\n[\n  \"a0\",\n  \"a1\",\n  \"a2\",\n  \"a3\"\n][\n  \"a0\",\n  \"a1\",\n  \"a2\",\n  \"a3\"\n]\n[\n  \"a1\"\n][\n  \"a1\"\n]\n[\n  \"a1\",\n  \"a2\"\n][\n  \"a1\",\n  \"a2\"\n]\n[][]1-1-1\n3333 3\n2222 2\n0000 0\n3333 3\n\ntruefalse\nfalsefalsefalse\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); +    assert_eq!(template.render().unwrap(), "\n0\n0\n0\n0\n\n\n\n0\n0\n0\n0\n0\n\na0\na1\nvalue\n\n\n\n\n\n[\n  \"a0\",\n  \"a1\",\n  \"a2\",\n  \"a3\"\n]\n[\n  \"a0\",\n  \"a1\",\n  \"a2\",\n  \"a3\"\n][\n  \"a0\",\n  \"a1\",\n  \"a2\",\n  \"a3\"\n]\n[\n  \"a1\"\n][\n  \"a1\"\n]\n[\n  \"a1\",\n  \"a2\"\n][\n  \"a1\",\n  \"a2\"\n]\n[][\n  \"a1\"\n]1-1-1\n3333 3\n2222 2\n0000 0\n3333 3\n\ntruefalse\nfalsefalsefalse\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");  } | 
