#![cfg(not(target_arch = "wasm32"))]
mod common;
use anytomd::{ConversionOptions, convert_file};
use common::normalize;
#[test]
fn test_html_convert_file_sample() {
let result = convert_file("tests/fixtures/sample.html", &ConversionOptions::default()).unwrap();
assert_eq!(result.title, Some("Sample HTML Document".to_string()));
assert!(result.markdown.contains("# Main Heading"));
assert!(result.markdown.contains("## Links and Images"));
assert!(result.markdown.contains("### Lists"));
assert!(result.markdown.contains("## Data Table"));
assert!(result.markdown.contains("## Code Block"));
assert!(result.markdown.contains("## Blockquote"));
assert!(result.markdown.contains("## Unicode and Emoji"));
assert!(result.markdown.contains("**bold**"));
assert!(result.markdown.contains("*italic*"));
assert!(result.markdown.contains("`inline code`"));
assert!(
result
.markdown
.contains("[Example Site](https://example.com)")
);
assert!(result.markdown.contains(""));
assert!(result.markdown.contains("- Apple"));
assert!(result.markdown.contains("- Banana"));
assert!(result.markdown.contains(" - Dark cherry"));
assert!(result.markdown.contains("1. First step"));
assert!(result.markdown.contains("2. Second step"));
assert!(result.markdown.contains("| Name | City | Score |"));
assert!(result.markdown.contains("| Alice | Seoul | 95 |"));
assert!(result.markdown.contains("| Bob | Tokyo | 88 |"));
assert!(result.markdown.contains("```"));
assert!(result.markdown.contains("fn main()"));
assert!(result.markdown.contains("> "));
assert!(
result
.markdown
.contains("The only way to do great work is to love what you do.")
);
assert!(result.markdown.contains("---"));
assert!(result.markdown.contains("한국어 텍스트"));
assert!(result.markdown.contains("안녕하세요"));
assert!(result.markdown.contains("中文文本"));
assert!(result.markdown.contains("日本語テキスト"));
assert!(result.markdown.contains("🚀"));
assert!(result.markdown.contains("✨"));
assert!(result.markdown.contains("🌍"));
assert!(!result.markdown.contains("console.log"));
assert!(!result.markdown.contains("font-family"));
assert!(!result.markdown.contains("<script"));
assert!(!result.markdown.contains("<style"));
}
#[test]
fn test_html_golden_sample() {
let result = convert_file("tests/fixtures/sample.html", &ConversionOptions::default()).unwrap();
let expected = include_str!("fixtures/expected/sample.html.md");
assert_eq!(normalize(&result.markdown), normalize(expected));
}
#[test]
fn test_html_convert_bytes_direct() {
let input = b"<html><body><h1>Hello</h1><p>World</p></body></html>";
let result = anytomd::convert_bytes(input, "html", &ConversionOptions::default()).unwrap();
assert!(result.markdown.contains("# Hello"));
assert!(result.markdown.contains("World"));
}