assay-lua 0.10.3

General-purpose enhanced Lua runtime. Batteries-included scripting, automation, and web services.
Documentation
mod common;

use common::eval_lua;

#[tokio::test]
async fn test_markdown_to_html_heading() {
    let result: String = eval_lua(
        r##"return markdown.to_html("# Hello")"##,
    )
    .await;
    assert!(
        result.contains("<h1>Hello</h1>"),
        "expected <h1>Hello</h1> in: {result}"
    );
}

#[tokio::test]
async fn test_markdown_to_html_paragraph() {
    let result: String = eval_lua(
        r#"return markdown.to_html("Hello **world**")"#,
    )
    .await;
    assert!(
        result.contains("<strong>world</strong>"),
        "expected <strong>world</strong> in: {result}"
    );
}

#[tokio::test]
async fn test_markdown_to_html_table() {
    let result: String = eval_lua(
        r#"return markdown.to_html("| A | B |\n|---|---|\n| 1 | 2 |")"#,
    )
    .await;
    assert!(
        result.contains("<table>"),
        "expected <table> in: {result}"
    );
}

#[tokio::test]
async fn test_markdown_to_html_code_block() {
    let result: String = eval_lua(
        r#"return markdown.to_html("```lua\nprint('hi')\n```")"#,
    )
    .await;
    assert!(
        result.contains("<code"),
        "expected <code in: {result}"
    );
}

#[tokio::test]
async fn test_markdown_to_html_list() {
    let result: String = eval_lua(
        r#"return markdown.to_html("- one\n- two\n- three")"#,
    )
    .await;
    assert!(
        result.contains("<ul>") && result.contains("<li>"),
        "expected <ul> and <li> in: {result}"
    );
}

#[tokio::test]
async fn test_markdown_is_global() {
    let result: bool = eval_lua(
        r#"return type(markdown) == "table" and type(markdown.to_html) == "function""#,
    )
    .await;
    assert!(result);
}