use crate::views::section::markdown::MarkdownParser;
use crate::views::section::markdown::MarkdownToken;
#[test]
fn md_just_a_markdown() {
let markdown = "Hello world!";
let expected = vec![MarkdownToken::Markdown {
text: markdown,
len: markdown.len(),
}];
let parser = MarkdownParser::new();
let result = parser.parse(markdown);
assert_eq!(result, expected);
}
#[test]
fn md_just_a_header() {
let markdown = r####"## Kaboom
### More boom"####;
let header1_level = 2;
let header1_text = " Kaboom";
let header2_level = 3;
let header2_text = " More boom";
let expected = vec![
MarkdownToken::Header {
level: header1_level,
text: header1_text,
len: header1_text.len() + header1_level,
},
MarkdownToken::Header {
level: header2_level,
text: header2_text,
len: header2_text.len() + header2_level + 1, },
];
let parser = MarkdownParser::new();
let result = parser.parse(markdown);
assert_eq!(result, expected);
}
#[test]
fn md_just_a_story() {
let markdown = "<Story of=\"aa/bb\" /><Story of='aa/bb' controls/>";
let expected = vec![
MarkdownToken::Story {
story: Some("aa/bb"),
len: 20,
controls: false,
},
MarkdownToken::Story {
story: Some("aa/bb"),
len: 28,
controls: true,
},
];
let parser = MarkdownParser::new();
let result = parser.parse(markdown);
assert_eq!(result, expected);
}