dioxus/packages/core/tests/diff_iterative.rs

49 lines
1.1 KiB
Rust
Raw Normal View History

2021-08-22 21:08:25 +00:00
//! tests to prove that the iterative implementation works
use dioxus::prelude::*;
mod test_logging;
use dioxus_core as dioxus;
use dioxus_html as dioxus_elements;
const LOGGING_ENABLED: bool = false;
2021-08-22 21:08:25 +00:00
#[async_std::test]
async fn test_iterative_create_components() {
static App: FC<()> = |cx| {
// test root fragments
cx.render(rsx! {
Child { "abc1" }
Child { "abc2" }
Child { "abc3" }
})
};
fn Child(cx: Context<()>) -> DomTree {
// test root fragments, anchors, and ChildNode type
cx.render(rsx! {
h1 {}
div { {cx.children()} }
Fragment {
Fragment {
Fragment {
"wozza"
}
}
}
2021-09-01 04:57:04 +00:00
{(0..0).map(|_f| rsx!{ div { "walalla"}})}
2021-08-22 21:08:25 +00:00
p {}
})
}
test_logging::set_up_logging(LOGGING_ENABLED);
2021-08-22 21:08:25 +00:00
let mut dom = VirtualDom::new(App);
2021-08-24 19:12:20 +00:00
let mutations = dom.rebuild_async().await;
2021-08-22 21:08:25 +00:00
dbg!(mutations);
2021-09-02 03:57:34 +00:00
let mutations = dom.diff();
2021-08-22 21:08:25 +00:00
dbg!(mutations);
}