aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mdx_jsx_text.rs
diff options
context:
space:
mode:
authorLibravatar Titus Wormer <tituswormer@gmail.com>2022-10-13 15:30:33 +0200
committerLibravatar Titus Wormer <tituswormer@gmail.com>2022-10-13 15:30:33 +0200
commitafe75b0508cedba1df5c9701a22e5732c7d0d00e (patch)
tree69b40ae77082d5e300e7320ba0ab08a2fb522380 /tests/mdx_jsx_text.rs
parent645fb2b02b1563bd98c07515bdc2d6d8478ba74e (diff)
downloadmarkdown-rs-afe75b0508cedba1df5c9701a22e5732c7d0d00e.tar.gz
markdown-rs-afe75b0508cedba1df5c9701a22e5732c7d0d00e.tar.bz2
markdown-rs-afe75b0508cedba1df5c9701a22e5732c7d0d00e.zip
Add more tests for whitespace in jsx tags
Diffstat (limited to 'tests/mdx_jsx_text.rs')
-rw-r--r--tests/mdx_jsx_text.rs72
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/mdx_jsx_text.rs b/tests/mdx_jsx_text.rs
index 2d1ec0a..d6e3d56 100644
--- a/tests/mdx_jsx_text.rs
+++ b/tests/mdx_jsx_text.rs
@@ -345,6 +345,78 @@ fn mdx_jsx_text_core() -> Result<(), String> {
);
assert_eq!(
+ to_mdast("<a\u{3000}b \u{3000}c\u{3000} d\u{3000}/>.", &mdx.parse)?,
+ Node::Root(Root {
+ children: vec![Node::Paragraph(Paragraph {
+ children: vec![
+ Node::MdxJsxTextElement(MdxJsxTextElement {
+ name: Some("a".into()),
+ attributes: vec![
+ AttributeContent::Property(MdxJsxAttribute {
+ name: "b".into(),
+ value: None,
+ }),
+ AttributeContent::Property(MdxJsxAttribute {
+ name: "c".into(),
+ value: None,
+ }),
+ AttributeContent::Property(MdxJsxAttribute {
+ name: "d".into(),
+ value: None,
+ })
+ ],
+ children: vec![],
+ position: Some(Position::new(1, 1, 0, 1, 22, 21))
+ }),
+ Node::Text(Text {
+ value: ".".into(),
+ position: Some(Position::new(1, 22, 21, 1, 23, 22))
+ })
+ ],
+ position: Some(Position::new(1, 1, 0, 1, 23, 22))
+ })],
+ position: Some(Position::new(1, 1, 0, 1, 23, 22))
+ }),
+ "should support unicode whitespace in a lot of places"
+ );
+
+ assert_eq!(
+ to_mdast("<a\nb \nc\n d\n/>.", &mdx.parse)?,
+ Node::Root(Root {
+ children: vec![Node::Paragraph(Paragraph {
+ children: vec![
+ Node::MdxJsxTextElement(MdxJsxTextElement {
+ name: Some("a".into()),
+ attributes: vec![
+ AttributeContent::Property(MdxJsxAttribute {
+ name: "b".into(),
+ value: None,
+ }),
+ AttributeContent::Property(MdxJsxAttribute {
+ name: "c".into(),
+ value: None,
+ }),
+ AttributeContent::Property(MdxJsxAttribute {
+ name: "d".into(),
+ value: None,
+ })
+ ],
+ children: vec![],
+ position: Some(Position::new(1, 1, 0, 5, 3, 13))
+ }),
+ Node::Text(Text {
+ value: ".".into(),
+ position: Some(Position::new(5, 3, 13, 5, 4, 14))
+ })
+ ],
+ position: Some(Position::new(1, 1, 0, 5, 4, 14))
+ })],
+ position: Some(Position::new(1, 1, 0, 5, 4, 14))
+ }),
+ "should support line endings in a lot of places"
+ );
+
+ assert_eq!(
to_mdast("a </b> c", &mdx.parse)
.err()
.unwrap(),