Skip to content

Commit 33379fc

Browse files
committed
Fix error message on unclosed JSX tag after closed tag
Related-to: syntax-tree/mdast-util-mdx-jsx@cdfd0e5.
1 parent 3f65ea5 commit 33379fc

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/to_mdast.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1743,12 +1743,13 @@ fn on_mismatch_error(
17431743
right: &Event,
17441744
) -> Result<(), String> {
17451745
if right.name == Name::MdxJsxFlowTag || right.name == Name::MdxJsxTextTag {
1746+
let stack = &context.jsx_tag_stack;
1747+
let tag = stack.last().unwrap();
17461748
let point = if let Some(left) = left {
17471749
&left.point
17481750
} else {
17491751
&context.events[context.events.len() - 1].point
17501752
};
1751-
let tag = context.jsx_tag.as_ref().unwrap();
17521753

17531754
return Err(format!(
17541755
"{}:{}: Expected a closing tag for `{}` ({}:{}){} (mdx-jsx:end-tag-mismatch)",

tests/mdx_jsx_text.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,12 @@ fn mdx_jsx_text_core() -> Result<(), String> {
483483
"should crash when building the ast on mismatched interleaving (4)"
484484
);
485485

486+
assert_eq!(
487+
to_mdast("<a><b></b>", &mdx.parse).err().unwrap(),
488+
"1:11: Expected a closing tag for `<a>` (1:1) (mdx-jsx:end-tag-mismatch)",
489+
"should crash on unclosed jsx after closed jsx"
490+
);
491+
486492
Ok(())
487493
}
488494

0 commit comments

Comments
 (0)