parse-html 0.4.1

A simple Rust project to parse HTML.
Documentation
use parse_html::{dom::dom_tree::DomTree, lexer::tokenizer::Lexer, parser::ast::Parser};

#[test]
fn test_dom_tree_construction() {
    let input = r#"<div id="main"><p>Test</p></div>"#;

    let dom = DomTree::new::<Lexer, Parser>(input).unwrap();

    assert!(dom.get_by_id("main").is_some());
}

#[test]
fn test_dom_tree_basic_html() {
    let input = r#"
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        ok ceci est un texte
        <a href="2" id="l1">link1</a>
        <a href="1">link2</a>
        <form action="d" method="get">
            <input type="text" name="name" />
        </form>
    </body>
    </html>"#;

    let dom = DomTree::new::<Lexer, Parser>(input).unwrap();

    assert!(dom.get_by_id("main").is_none());
    assert!(dom.get_by_id("l1").is_some());
}

#[test]
fn test_parser_with_unclosed_tag() {
    let input = "<html><body><div>Unclosed div</body></html>";

    let result = DomTree::new::<Lexer, Parser>(input);

    assert!(result.is_err());
}