wayver's git archive


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

sable-markdown/src/parser/blocks/tests/blockquote.rs@337ba67f65eaa17b44e371af7c0f0c761d6aa914

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

1use crate::ast::*;
2use crate::parser::parse_markdown;
3
4#[test]
5fn blockquote1() {
6    let doc = parse_markdown("> a\n>\n>> b").unwrap();
7    assert_eq!(
8        doc,
9        Document {
10            blocks: vec![Block::BlockQuote(vec![
11                Block::Paragraph(vec![Inline::Text("a".to_owned())]),
12                Block::BlockQuote(vec![Block::Paragraph(vec![Inline::Text("b".to_owned())])])
13            ])]
14        }
15    );
16}
17
18#[test]
19fn blockquote2() {
20    let doc = parse_markdown(">> a\n>>\n>> b").unwrap();
21    assert_eq!(
22        doc,
23        Document {
24            blocks: vec![Block::BlockQuote(vec![Block::BlockQuote(vec![
25                Block::Paragraph(vec![Inline::Text("a".to_owned()),]),
26                Block::Paragraph(vec![Inline::Text("b".to_owned())])
27            ])])]
28        }
29    );
30}
31
32// #[test]
33// fn blockquote_skip1() {
34//     let config =
35//         MarkdownParserConfig::default().with_block_blockquote_behavior(ElementBehavior::Skip);
36//     let doc = parse_markdown(MarkdownParserState::with_config(config), "> a\n>\n>> b").unwrap();
37//     assert_eq!(
38//         doc,
39//         Document {
40//             blocks: vec![Block::Empty]
41//         }
42//     );
43// }
44
45// #[test]
46// fn blockquote_skip2() {
47//     let config =
48//         MarkdownParserConfig::default().with_block_blockquote_behavior(ElementBehavior::Skip);
49//     let doc = parse_markdown(MarkdownParserState::with_config(config), "a\n> a\n>\n>> b").unwrap();
50//     assert_eq!(
51//         doc,
52//         Document {
53//             blocks: vec![
54//                 Block::Paragraph(vec![Inline::Text("a".to_owned())]),
55//                 Block::Empty
56//             ]
57//         }
58//     );
59// }
60
61// #[test]
62// fn blockquote_ignore1() {
63//     let config =
64//         MarkdownParserConfig::default().with_block_blockquote_behavior(ElementBehavior::Ignore);
65//     let doc = parse_markdown(MarkdownParserState::with_config(config), "> a\n>\n>> b").unwrap();
66//     assert_eq!(
67//         doc,
68//         Document {
69//             blocks: vec![Block::Paragraph(vec![Inline::Text(
70//                 "> a\n>\n>> b".to_owned()
71//             )]),]
72//         }
73//     );
74// }
75
76// #[test]
77// fn blockquote_ignore2() {
78//     let config =
79//         MarkdownParserConfig::default().with_block_blockquote_behavior(ElementBehavior::Ignore);
80//     let doc = parse_markdown(MarkdownParserState::with_config(config), "a\n> a\n>\n>> b").unwrap();
81//     assert_eq!(
82//         doc,
83//         Document {
84//             blocks: vec![Block::Paragraph(vec![Inline::Text(
85//                 "a\n> a\n>\n>> b".to_owned()
86//             )]),]
87//         }
88//     );
89// }
90