feat: simple tests passing

This commit is contained in:
Jonathan Kelley committed 2022-11-01 18:42:29 -07:00
1 parent 23603aaaf5
commit 4a31b29703
27 files changed
+1565 -372

No files matched your search

-114
View File
@@ -1,114 +0,0 @@
use dioxus_core::{prelude::*, TemplateNode, VTemplate, VText};
// #[test]
// fn simple_static() {
// fn app(cx: Scope) -> Element {
// static MyTemplate: TemplateDef = TemplateDef {
// id: "my-template",
// static_nodes: &[TemplateNode::Element {
// attributes: &[],
// nodes: &[TemplateNode::StaticText("Hello, world!")],
// tag: "div",
// }],
// dynamic_nodes: &[],
// };
// Some(VNode::Template(NodeFactory::new(&cx).bump().alloc(
// VTemplate {
// def: &MyTemplate,
// dynamic_nodes: &[],
// rendered_nodes: &[],
// },
// )))
// }
// let mut dom = VirtualDom::new(app);
// let edits = dom.rebuild();
// dbg!(edits);
// }
// #[test]
// fn mixed_dynamic() {
// fn app(cx: Scope) -> Element {
// static MyTemplate: TemplateDef = TemplateDef {
// id: "my-template",
// static_nodes: &[TemplateNode::Element {
// tag: "div",
// attributes: &[],
// nodes: &[
// TemplateNode::StaticText("Hello, world!"),
// TemplateNode::DynamicText,
// ],
// }],
// dynamic_nodes: &[],
// };
// let val = cx.use_hook(|| 0);
// *val += 1;
// let fact = NodeFactory::new(&cx);
// Some(VNode::Template(fact.bump().alloc(VTemplateRef {
// def: &MyTemplate,
// dynamic_nodes: fact.bump().alloc([fact.text(format_args!("{val}"))]),
// })))
// }
// let mut dom = VirtualDom::new(app);
// let edits = dom.rebuild();
// dbg!(edits);
// let edits = dom.hard_diff(ScopeId(0));
// dbg!(edits);
// let edits = dom.hard_diff(ScopeId(0));
// dbg!(edits);
// let edits = dom.hard_diff(ScopeId(0));
// dbg!(edits);
// }
// #[test]
// fn mixes() {
// fn app(cx: Scope) -> Element {
// static MyTemplate: TemplateDef = TemplateDef {
// id: "my-template",
// static_nodes: &[TemplateNode::Element {
// tag: "div",
// attributes: &[],
// nodes: &[
// TemplateNode::StaticText("Hello, world!"),
// TemplateNode::DynamicText,
// ],
// }],
// dynamic_nodes: &[],
// };
// let val = cx.use_hook(|| 1);
// *val += 1;
// let fact = NodeFactory::new(&cx);
// if *val % 2 == 0 {
// Some(VNode::Template(fact.bump().alloc(VTemplateRef {
// def: &MyTemplate,
// dynamic_nodes: fact.bump().alloc([fact.text(format_args!("{val}"))]),
// })))
// } else {
// Some(fact.text(format_args!("Hello, world! {val}")))
// }
// }
// let mut dom = VirtualDom::new(app);
// let edits = dom.rebuild();
// dbg!(edits);
// let edits = dom.hard_diff(ScopeId(0));
// dbg!(edits);
// let edits = dom.hard_diff(ScopeId(0));
// dbg!(edits);
// let edits = dom.hard_diff(ScopeId(0));
// dbg!(edits);
// }
+26
View File
@@ -0,0 +1,26 @@
use dioxus_core::prelude::*;
fn app(cx: Scope) -> Element {
todo!();
// render! {
// Suspend {
// delay: Duration::from_millis(100),
// fallback: rsx! { "Loading..." },
// ChildAsync {}
// ChildAsync {}
// ChildAsync {}
// }
// }
}
async fn ChildAsync(cx: Scope<'_>) -> Element {
todo!()
}
#[test]
fn it_works() {
let mut dom = VirtualDom::new(app);
let mut mutations = vec![];
dom.rebuild(&mut mutations);
}