use silkenweb::{dom::Wet, elements::html::div, node::Node, prelude::ParentElement}; use silkenweb_inline_html::{html_dir, html_file, inline_html}; use wasm_bindgen_test::{wasm_bindgen_test, wasm_bindgen_test_configure}; wasm_bindgen_test_configure!(run_in_browser); /// Check we can create a `Node` where `Dom` != `DefaultDom`. #[test] fn inline_compile() { let _ = || -> Node { inline_html!(r#""#) }; } #[wasm_bindgen_test] #[test] fn inline() { inline_html_test(inline_html!( r#"Inline SVG"# )); } #[wasm_bindgen_test] #[test] fn file() { html_file!("tests/svg/image.svg"); inline_html_test(image()); } #[wasm_bindgen_test] #[test] fn dir() { html_dir!("tests/svg"); inline_html_test(image()); } fn inline_html_test(image: Node) { let image_contents = include_str!("svg/image.svg"); let expected = format!(r#"
{image_contents}
"#); assert_eq!(div().children([image]).freeze().to_string(), expected); }