wayver's git archive


an obsidian renderer
git clone https://git.wayver.dev/sable

sable-markdown/src/parser/inline/tests/autolink.rs@main

raw
Date Commit Message Author Files + -
2026-02-23 01:55 initial mvp wayverd 139 17808 0
...

1use crate::{ast::*, parser::parse_markdown};
2
3#[test]
4fn autolink1() {
5    let doc = parse_markdown("<http://foo.bar.baz>").unwrap();
6    assert_eq!(
7        doc,
8        Document {
9            blocks: vec![Block::Paragraph(vec![Inline::Autolink(
10                "http://foo.bar.baz".to_owned()
11            )])]
12        }
13    );
14}
15
16#[test]
17fn autolink2() {
18    let doc = parse_markdown("<irc://foo.bar:2233/baz>").unwrap();
19    assert_eq!(
20        doc,
21        Document {
22            blocks: vec![Block::Paragraph(vec![Inline::Autolink(
23                "irc://foo.bar:2233/baz".to_owned()
24            )])]
25        }
26    );
27}
28
29#[test]
30fn autolink3() {
31    let doc = parse_markdown("<MAILTO:[email protected]>").unwrap();
32    assert_eq!(
33        doc,
34        Document {
35            blocks: vec![Block::Paragraph(vec![Inline::Autolink(
36                "MAILTO:[email protected]".to_owned()
37            )])]
38        }
39    );
40}
41
42#[test]
43fn autolink4() {
44    let doc = parse_markdown("<http://foo.bar/baz bim>").unwrap();
45    assert_eq!(
46        doc,
47        Document {
48            blocks: vec![Block::Paragraph(vec![Inline::Text(
49                "<http://foo.bar/baz bim>".to_owned()
50            )])]
51        }
52    );
53}
54
55#[test]
56fn autolink5() {
57    let doc = parse_markdown("<http://example.com/\\[\\>").unwrap();
58    assert_eq!(
59        doc,
60        Document {
61            blocks: vec![Block::Paragraph(vec![Inline::Autolink(
62                "http://example.com/\\[\\".to_owned()
63            )])]
64        }
65    );
66}
67
68#[test]
69fn autolink6() {
70    let doc = parse_markdown("<>").unwrap();
71    assert_eq!(
72        doc,
73        Document {
74            blocks: vec![Block::Paragraph(vec![Inline::Text("<>".to_owned())])]
75        }
76    );
77}
78