From 0bfb8d86d70d163ba0421c8221efb8130d94031e Mon Sep 17 00:00:00 2001 From: Wilson Lin Date: Sat, 6 Feb 2021 00:03:14 +1100 Subject: [PATCH] Fix pre propagation --- src/tests/mod.rs | 13 +++++++++++++ src/unit/content.rs | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/tests/mod.rs b/src/tests/mod.rs index 1a009b2..ee5d63a 100644 --- a/src/tests/mod.rs +++ b/src/tests/mod.rs @@ -93,6 +93,19 @@ fn test_no_whitespace_minification() { eval(b"
    1    2     
", b"
    1    2     
"); eval(b"
    1 
\n
2
", b"
    1 
\n
2
"); eval(b"
    1 
\n
2
", b"
    1 
\n
2
"); + eval(br#"
fn main() {
+  println!("Hello, world!");
+  loop {
+    println!("Hello, world!");
+  }
+}
+
"#, br#"
fn main() {
+  println!("Hello, world!");
+  loop {
+    println!("Hello, world!");
+  }
+}
+
"#); } #[test] diff --git a/src/unit/content.rs b/src/unit/content.rs index af1824c..9b1c0a8 100644 --- a/src/unit/content.rs +++ b/src/unit/content.rs @@ -134,7 +134,7 @@ pub fn process_content(proc: &mut Processor, cfg: &Cfg, ns: Namespace, parent: O }); }; - let new_closing_tag = process_tag(proc, cfg, ns, parent, ns == Namespace::Html && parent.filter(|p| &proc[*p] == b"pre").is_some(), prev_sibling_closing_tag, tag_name)?; + let new_closing_tag = process_tag(proc, cfg, ns, parent, descendant_of_pre || ns == Namespace::Html && parent.filter(|p| &proc[*p] == b"pre").is_some(), prev_sibling_closing_tag, tag_name)?; prev_sibling_closing_tag.replace(new_closing_tag); } ContentType::End => {