#![allow(non_snake_case)] use dioxus::prelude::*; #[test] fn simple() { fn App() -> Element { rsx! { div { "hello!" } } } let mut dom = VirtualDom::new(App); dom.rebuild(&mut dioxus_core::NoOpMutations); assert_eq!(dioxus_ssr::render(&dom), "
hello!
"); assert_eq!( dioxus_ssr::render_element(rsx!( div {"hello!"} )), "
hello!
" ); } #[test] fn lists() { assert_eq!( dioxus_ssr::render_element(rsx! { ul { { (0..5).map(|i| rsx! { li { "item {i}" } }) } } }), "" ); } #[test] fn dynamic() { let dynamic = 123; assert_eq!( dioxus_ssr::render_element(rsx! { div { "Hello world 1 -->" "{dynamic}" "<-- Hello world 2" } }), "
Hello world 1 -->123<-- Hello world 2
" ); } #[test] fn components() { #[derive(Props, Clone, PartialEq)] struct MyComponentProps { name: i32, } fn MyComponent(MyComponentProps { name }: MyComponentProps) -> Element { rsx! { div { "component {name}" } } } assert_eq!( dioxus_ssr::render_element(rsx! { div { { (0..5).map(|name| rsx! { MyComponent { name: name } }) } } }), "
component 0
component 1
component 2
component 3
component 4
" ); } #[test] fn fragments() { assert_eq!( dioxus_ssr::render_element(rsx! { div { { (0..5).map(|_| rsx! ({})) } } }), "
" ); }