1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #![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), "<div>hello!</div>");
- assert_eq!(
- dioxus_ssr::render_element(rsx!( div {"hello!"} )),
- "<div>hello!</div>"
- );
- }
- #[test]
- fn lists() {
- assert_eq!(
- dioxus_ssr::render_element(rsx! {
- ul {
- {
- (0..5).map(|i| rsx! {
- li { "item {i}" }
- })
- }
- }
- }),
- "<ul><li>item 0</li><li>item 1</li><li>item 2</li><li>item 3</li><li>item 4</li></ul>"
- );
- }
- #[test]
- fn dynamic() {
- let dynamic = 123;
- assert_eq!(
- dioxus_ssr::render_element(rsx! {
- div { "Hello world 1 -->" "{dynamic}" "<-- Hello world 2" }
- }),
- "<div>Hello world 1 -->123<-- Hello world 2</div>"
- );
- }
- #[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 }
- })
- }
- }
- }),
- "<div><div>component 0</div><div>component 1</div><div>component 2</div><div>component 3</div><div>component 4</div></div>"
- );
- }
- #[test]
- fn fragments() {
- assert_eq!(
- dioxus_ssr::render_element(rsx! {
- div {
- {
- (0..5).map(|_| rsx! ({}))
- }
- }
- }),
- "<div></div>"
- );
- }
|