sauron 0.70.0

A versatile web framework and library for building client-side and/or server-side web applications
Documentation
use sauron::html::lookup::match_tag;
use sauron::vdom::Node;
use sauron_html_parser::parse_html;

#[test]
fn should_match_tags() {
    assert_eq!(Some("div"), match_tag(&String::from("div")));
    assert_eq!(Some("svg"), match_tag(&String::from("svg")));
    assert_eq!(
        Some("color-profile"),
        match_tag(&String::from("color-profile"))
    );
}

#[test]
fn test_html_child() {
    let html = r#"<article class="side-to-side">
    <div>
        This is div content1
    </div>
    <footer>
        This is footer
    </footer>
</article>"#;
    let expected = "<article class=\"side-to-side\"><div>\n        This is div content1\n    </div><footer>\n        This is footer\n    </footer></article>";
    let node: Node<()> = parse_html(html).ok().flatten().expect("must parse");
    println!("node: {:#?}", node);
    println!("render: {}", node.render_to_string());
    assert_eq!(expected, node.render_to_string());
}

#[test]
fn test_node_list() {
    let html = r#"<!doctype html>
    <html>
        <body>This is body</body>
    </html>"#;
    let expected = "<html><body>This is body</body></html>";
    let node: Node<()> = parse_html(html).ok().flatten().expect("must parse");
    println!("node: {:#?}", node);
    println!("render: {}", node.render_to_string());
    assert_eq!(expected, node.render_to_string());
}