aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gfm_autolink_literal.rs
diff options
context:
space:
mode:
authorLibravatar Titus Wormer <tituswormer@gmail.com>2022-09-26 16:12:25 +0200
committerLibravatar Titus Wormer <tituswormer@gmail.com>2022-09-26 16:12:25 +0200
commita0c84c505d733be2e987a333a34244c1befb56cb (patch)
tree0545a747b6f2f627a71bd31949ad622bbc56c176 /tests/gfm_autolink_literal.rs
parent9cb9e37c33173c16cbafd345f43e43b5a550537d (diff)
downloadmarkdown-rs-a0c84c505d733be2e987a333a34244c1befb56cb.tar.gz
markdown-rs-a0c84c505d733be2e987a333a34244c1befb56cb.tar.bz2
markdown-rs-a0c84c505d733be2e987a333a34244c1befb56cb.zip
Add support for compiling to mdast
See: <https://github.com/syntax-tree/mdast>.
Diffstat (limited to 'tests/gfm_autolink_literal.rs')
-rw-r--r--tests/gfm_autolink_literal.rs90
1 files changed, 89 insertions, 1 deletions
diff --git a/tests/gfm_autolink_literal.rs b/tests/gfm_autolink_literal.rs
index bcb0797..bf99071 100644
--- a/tests/gfm_autolink_literal.rs
+++ b/tests/gfm_autolink_literal.rs
@@ -1,5 +1,8 @@
extern crate micromark;
-use micromark::{micromark, micromark_with_options, Constructs, Options};
+use micromark::{
+ mdast::{Link, Node, Paragraph, Position, Root, Text},
+ micromark, micromark_to_mdast, micromark_with_options, Constructs, Options,
+};
use pretty_assertions::assert_eq;
#[test]
@@ -2735,5 +2738,90 @@ www.a/~
"should match www (path start) like GitHub does (except for the bracket bug)"
);
+ assert_eq!(
+ micromark_to_mdast(
+ "a https://alpha.com b bravo@charlie.com c www.delta.com d xmpp:echo@foxtrot.com e mailto:golf@hotel.com f.",
+ &gfm
+ )?,
+ Node::Root(Root {
+ children: vec![Node::Paragraph(Paragraph {
+ children: vec![
+ Node::Text(Text {
+ value: "a ".to_string(),
+ position: Some(Position::new(1, 1, 0, 1, 3, 2))
+ }),
+ Node::Link(Link {
+ url: "https://alpha.com".to_string(),
+ title: None,
+ children: vec![Node::Text(Text {
+ value: "https://alpha.com".to_string(),
+ position: Some(Position::new(1, 3, 2, 1, 20, 19))
+ }),],
+ position: Some(Position::new(1, 3, 2, 1, 20, 19))
+ }),
+ Node::Text(Text {
+ value: " b ".to_string(),
+ position: Some(Position::new(1, 20, 19, 1, 23, 22))
+ }),
+ Node::Link(Link {
+ url: "mailto:bravo@charlie.com".to_string(),
+ title: None,
+ children: vec![Node::Text(Text {
+ value: "bravo@charlie.com".to_string(),
+ position: Some(Position::new(1, 23, 22, 1, 40, 39))
+ }),],
+ position: Some(Position::new(1, 23, 22, 1, 40, 39))
+ }),
+ Node::Text(Text {
+ value: " c ".to_string(),
+ position: Some(Position::new(1, 40, 39, 1, 43, 42))
+ }),
+ Node::Link(Link {
+ url: "http://www.delta.com".to_string(),
+ title: None,
+ children: vec![Node::Text(Text {
+ value: "www.delta.com".to_string(),
+ position: Some(Position::new(1, 43, 42, 1, 56, 55))
+ }),],
+ position: Some(Position::new(1, 43, 42, 1, 56, 55))
+ }),
+ Node::Text(Text {
+ value: " d ".to_string(),
+ position: Some(Position::new(1, 56, 55, 1, 59, 58))
+ }),
+ Node::Link(Link {
+ url: "xmpp:echo@foxtrot.com".to_string(),
+ title: None,
+ children: vec![Node::Text(Text {
+ value: "xmpp:echo@foxtrot.com".to_string(),
+ position: Some(Position::new(1, 59, 58, 1, 80, 79))
+ }),],
+ position: Some(Position::new(1, 59, 58, 1, 80, 79))
+ }),
+ Node::Text(Text {
+ value: " e ".to_string(),
+ position: Some(Position::new(1, 80, 79, 1, 83, 82))
+ }),
+ Node::Link(Link {
+ url: "mailto:golf@hotel.com".to_string(),
+ title: None,
+ children: vec![Node::Text(Text {
+ value: "mailto:golf@hotel.com".to_string(),
+ position: Some(Position::new(1, 83, 82, 1, 104, 103))
+ }),],
+ position: Some(Position::new(1, 83, 82, 1, 104, 103))
+ }),
+ Node::Text(Text {
+ value: " f.".to_string(),
+ position: Some(Position::new(1, 104, 103, 1, 107, 106))
+ })
+ ],
+ position: Some(Position::new(1, 1, 0, 1, 107, 106))
+ })],
+ position: Some(Position::new(1, 1, 0, 1, 107, 106))
+ }),
+ "should support GFM autolink literals as `Link`s in mdast"
+ );
+
Ok(())
}