use dioxus::prelude::*; #[test] fn simple() { #[component] fn App(cx: Scope) -> Element { render! { div { "hello!" } } } let mut dom = VirtualDom::new(App); _ = dom.rebuild(); assert_eq!(dioxus_ssr::render(&dom), "
hello!
"); assert_eq!( dioxus_ssr::render_lazy(rsx!( div {"hello!"} )), "
hello!
" ); } #[test] fn lists() { assert_eq!( dioxus_ssr::render_lazy(rsx! { ul { for i in 0..5 { li { "item {i}" } } } }), "" ); } #[test] fn dynamic() { let dynamic = 123; assert_eq!( dioxus_ssr::render_lazy(rsx! { div { "Hello world 1 -->" "{dynamic}" "<-- Hello world 2" } }), "
Hello world 1 -->123<-- Hello world 2
" ); } #[test] fn components() { #[component] fn MyComponent(cx: Scope, name: i32) -> Element { render! { div { "component {name}" } } } assert_eq!( dioxus_ssr::render_lazy(rsx! { div { for name in 0..5 { MyComponent { name: name } } } }), "
component 0
component 1
component 2
component 3
component 4
" ); } #[test] fn fragments() { assert_eq!( dioxus_ssr::render_lazy(rsx! { div { for _ in 0..5 { {} } } }), "
" ); }