work on fixing some core tests

This commit is contained in:
Evan Almloff committed 2024-01-10 19:21:15 -06:00
1 parent 4a1a00b0f0
commit 55f76fede6
35 files changed
+422 -460

No files matched your search

+27 -37
View File
@@ -4,16 +4,14 @@ use dioxus::prelude::*;
fn app_drops() {
#[component]
fn App(cx: Scope) -> Element {
cx.render(rsx! {
div {}
})
render! { div {} }
}
let mut dom = VirtualDom::new(App);
_ = dom.rebuild(&mut dioxus_core::NoOpMutations);
_ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
dom.mark_dirty(ScopeId::ROOT);
_ = dom.render_immediate();
_ = dom.render_immediate_to_vec();
}
#[test]
@@ -25,16 +23,14 @@ fn hooks_drop() {
cx.use_hook(|| String::from("asd"));
cx.use_hook(|| String::from("asd"));
cx.render(rsx! {
div {}
})
render! { div {} }
}
let mut dom = VirtualDom::new(App);
_ = dom.rebuild(&mut dioxus_core::NoOpMutations);
_ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
dom.mark_dirty(ScopeId::ROOT);
_ = dom.render_immediate();
_ = dom.render_immediate_to_vec();
}
#[test]
@@ -43,27 +39,23 @@ fn contexts_drop() {
fn App(cx: Scope) -> Element {
cx.provide_context(String::from("asd"));
cx.render(rsx! {
div {
ChildComp {}
}
})
render! {
div { ChildComp {} }
}
}
#[component]
fn ChildComp(cx: Scope) -> Element {
let el = cx.consume_context::<String>().unwrap();
cx.render(rsx! {
div { "hello {el}" }
})
render! { div { "hello {el}" } }
}
let mut dom = VirtualDom::new(App);
_ = dom.rebuild(&mut dioxus_core::NoOpMutations);
_ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
dom.mark_dirty(ScopeId::ROOT);
_ = dom.render_immediate();
_ = dom.render_immediate_to_vec();
}
#[test]
@@ -74,16 +66,14 @@ fn tasks_drop() {
// tokio::time::sleep(std::time::Duration::from_millis(100000)).await;
});
cx.render(rsx! {
div { }
})
render! { div {} }
}
let mut dom = VirtualDom::new(App);
_ = dom.rebuild(&mut dioxus_core::NoOpMutations);
_ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
dom.mark_dirty(ScopeId::ROOT);
_ = dom.render_immediate();
_ = dom.render_immediate_to_vec();
}
#[test]
@@ -91,43 +81,43 @@ fn root_props_drop() {
struct RootProps(String);
let mut dom = VirtualDom::new_with_props(
|cx| cx.render(rsx!( div { "{cx.props.0}" } )),
|cx| render!( div { "{cx.props.0}" } ),
RootProps("asdasd".to_string()),
);
_ = dom.rebuild(&mut dioxus_core::NoOpMutations);
_ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
dom.mark_dirty(ScopeId::ROOT);
_ = dom.render_immediate();
_ = dom.render_immediate_to_vec();
}
#[test]
fn diffing_drops_old() {
#[component]
fn App(cx: Scope) -> Element {
cx.render(rsx! {
render! {
div {
match cx.generation() % 2 {
0 => rsx!( ChildComp1 { name: "asdasd".to_string() }),
1 => rsx!( ChildComp2 { name: "asdasd".to_string() }),
match generation() % 2 {
0 => render!( ChildComp1 { name: "asdasd".to_string() }),
1 => render!( ChildComp2 { name: "asdasd".to_string() }),
_ => todo!()
}
}
})
}
}
#[component]
fn ChildComp1(cx: Scope, name: String) -> Element {
cx.render(rsx! { "Hello {name}" })
render! {"Hello {name}"}
}
#[component]
fn ChildComp2(cx: Scope, name: String) -> Element {
cx.render(rsx! { "Goodbye {name}" })
render! {"Goodbye {name}"}
}
let mut dom = VirtualDom::new(App);
_ = dom.rebuild(&mut dioxus_core::NoOpMutations);
_ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
dom.mark_dirty(ScopeId::ROOT);
_ = dom.render_immediate();
_ = dom.render_immediate_to_vec();
}