sable-markdown/src/parser/blocks/tests/heading.rs@main
raw
1use crate::{ast::*, parser::parse_markdown};
2
3#[test]
4fn heading_v1() {
5 let doc = parse_markdown("## a").unwrap();
6 assert_eq!(
7 doc,
8 Document {
9 blocks: vec![Block::Heading(Heading {
10 kind: HeadingKind::Atx(2),
11 content: vec![Inline::Text("a".to_owned())]
12 })]
13 }
14 );
15}
16
17#[test]
18#[should_panic]
19fn heading_v1_no_space() {
20 let doc = parse_markdown("##a").unwrap();
21 assert_eq!(
22 doc,
23 Document {
24 blocks: vec![Block::Heading(Heading {
25 kind: HeadingKind::Atx(2),
26 content: vec![Inline::Text("a".to_owned())]
27 })]
28 }
29 );
30}
31
32#[test]
33fn heading_v2() {
34 let doc = parse_markdown("a\n==").unwrap();
35 assert_eq!(
36 doc,
37 Document {
38 blocks: vec![Block::Heading(Heading {
39 kind: HeadingKind::Setext(SetextHeading::Level1),
40 content: vec![Inline::Text("a".to_owned())]
41 })]
42 }
43 );
44
45 let doc = parse_markdown("a\n--").unwrap();
46 assert_eq!(
47 doc,
48 Document {
49 blocks: vec![Block::Heading(Heading {
50 kind: HeadingKind::Setext(SetextHeading::Level2),
51 content: vec![Inline::Text("a".to_owned())]
52 })]
53 }
54 );
55}
56