markdown2pdf 1.0.0

Create PDF with Markdown files (a md to pdf transpiler)
Documentation
use markdown2pdf::markdown::*;

use super::common::parse;


fn block_body(t: &Token) -> &Vec<Token> {
    if let Token::BlockQuote(body) = t {
        body
    } else {
        panic!("expected BlockQuote, got {:?}", t);
    }
}

#[test]
fn setext_h2_inside_blockquote() {
    let tokens = parse("> Title\n> ---");
    let body = block_body(&tokens[0]);
    assert!(
        body.iter().any(|t| matches!(t, Token::Heading(_, 2))),
        "expected H2 inside quote, got {:?}",
        body
    );
}

#[test]
fn setext_h1_inside_blockquote() {
    let tokens = parse("> Big\n> ===");
    let body = block_body(&tokens[0]);
    assert!(
        body.iter().any(|t| matches!(t, Token::Heading(_, 1))),
        "expected H1 inside quote, got {:?}",
        body
    );
}

#[test]
fn indented_code_inside_blockquote() {
    let tokens = parse(">     code line in quote");
    let body = block_body(&tokens[0]);
    assert!(
        body.iter().any(|t| matches!(t, Token::Code { .. })),
        "expected Code inside quote, got {:?}",
        body
    );
}

#[test]
fn regular_text_inside_blockquote_unaffected() {
    let tokens = parse("> Just a sentence with three spaces:    not code.");
    let body = block_body(&tokens[0]);
    assert!(!body.iter().any(|t| matches!(t, Token::Code { .. })));
}