From df8846cdbaa0dcd220e24b1606a459eea8cc6a43 Mon Sep 17 00:00:00 2001 From: Noah Hellman Date: Sun, 29 Jan 2023 11:33:39 +0100 Subject: [PATCH] block: fix headings with first line empty --- src/block.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/block.rs b/src/block.rs index ffc4f86..270c0ac 100644 --- a/src/block.rs +++ b/src/block.rs @@ -301,7 +301,10 @@ impl<'s> TreeParser<'s> { } self.tree.enter(Node::Leaf(leaf), span); - lines.iter().for_each(|line| self.tree.inline(*line)); + lines + .iter() + .filter(|l| !l.is_empty()) + .for_each(|line| self.tree.inline(*line)); self.tree.exit(); } @@ -992,6 +995,21 @@ mod test { ); } + #[test] + fn parse_heading_empty_first_line() { + test_parse!( + concat!( + "#\n", + "heading\n", // + ), + (Enter(Container(Section)), "#"), + (Enter(Leaf(Heading)), "#"), + (Inline, "heading"), + (Exit(Leaf(Heading)), "#"), + (Exit(Container(Section)), "#"), + ); + } + #[test] fn parse_heading_multi() { test_parse!(