Skip to content

Commit 0084b64

Browse files
committed
Add test to make sure we don't insert empty paragraph for newlines
1 parent 864a504 commit 0084b64

File tree

1 file changed

+40
-1
lines changed

1 file changed

+40
-1
lines changed

crates/markdown_preview/src/markdown_parser.rs

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -810,13 +810,17 @@ impl<'a> MarkdownParser<'a> {
810810
self.consume_children(source_range, node, elements);
811811
}
812812
markup5ever_rcdom::NodeData::Text { contents } => {
813+
let contents = contents.borrow().to_string();
814+
if contents.trim().is_empty() {
815+
return;
816+
}
813817
elements.push(ParsedMarkdownElement::Paragraph(vec![
814818
MarkdownParagraphChunk::Text(ParsedMarkdownText {
815819
source_range,
816820
regions: Vec::default(),
817821
region_ranges: Vec::default(),
818822
highlights: Vec::default(),
819-
contents: contents.borrow().to_string().into(),
823+
contents: contents.into(),
820824
}),
821825
]));
822826
}
@@ -1389,6 +1393,41 @@ mod tests {
13891393
);
13901394
}
13911395

1396+
#[gpui::test]
1397+
async fn test_html_multiple_upfollowing_paragraphs() {
1398+
let parsed = parse(
1399+
"<p>1. Some text more text and many more</p>
1400+
<p>2. Some text more text and many more</p>",
1401+
)
1402+
.await;
1403+
1404+
assert_eq!(
1405+
ParsedMarkdown {
1406+
children: vec![
1407+
ParsedMarkdownElement::Paragraph(vec![MarkdownParagraphChunk::Text(
1408+
ParsedMarkdownText {
1409+
source_range: 0..44,
1410+
contents: "1. Some text more text and many more".into(),
1411+
highlights: Default::default(),
1412+
region_ranges: Default::default(),
1413+
regions: Default::default()
1414+
}
1415+
)]),
1416+
ParsedMarkdownElement::Paragraph(vec![MarkdownParagraphChunk::Text(
1417+
ParsedMarkdownText {
1418+
source_range: 44..99,
1419+
contents: "2. Some text more text and many more".into(),
1420+
highlights: Default::default(),
1421+
region_ranges: Default::default(),
1422+
regions: Default::default()
1423+
}
1424+
)])
1425+
]
1426+
},
1427+
parsed
1428+
);
1429+
}
1430+
13921431
#[gpui::test]
13931432
async fn test_html_inline_style_elements() {
13941433
let parsed =

0 commit comments

Comments
 (0)