Tests: add tests for hotreload and recurse into children
This commit is contained in:
9 files changed
+109
-31
No files matched your search
@@ -1,4 +1,4 @@
|
||||
use dioxus_rsx::hot_reload::diff_rsx;
|
||||
use dioxus_rsx::hot_reload::{diff_rsx, DiffResult};
|
||||
use syn::File;
|
||||
|
||||
fn load_files(old: &str, new: &str) -> (File, File) {
|
||||
@@ -10,10 +10,34 @@ fn load_files(old: &str, new: &str) -> (File, File) {
|
||||
#[test]
|
||||
fn hotreloads() {
|
||||
let (old, new) = load_files(
|
||||
include_str!("./valid_samples/old.expr.rsx"),
|
||||
include_str!("./valid_samples/new.expr.rsx"),
|
||||
include_str!("./valid/expr.old.rsx"),
|
||||
include_str!("./valid/expr.new.rsx"),
|
||||
);
|
||||
|
||||
assert!(matches!(
|
||||
diff_rsx(&new, &old),
|
||||
DiffResult::RsxChanged { .. }
|
||||
));
|
||||
|
||||
let (old, new) = load_files(
|
||||
include_str!("./valid/let.old.rsx"),
|
||||
include_str!("./valid/let.new.rsx"),
|
||||
);
|
||||
|
||||
assert!(matches!(
|
||||
diff_rsx(&new, &old),
|
||||
DiffResult::RsxChanged { .. }
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn doesnt_hotreload() {
|
||||
let (old, new) = load_files(
|
||||
include_str!("./invalid/changedexpr.old.rsx"),
|
||||
include_str!("./invalid/changedexpr.new.rsx"),
|
||||
);
|
||||
|
||||
let res = diff_rsx(&new, &old);
|
||||
dbg!(res);
|
||||
dbg!(&res);
|
||||
assert!(matches!(res, DiffResult::CodeChanged(_)));
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
use dioxus::prelude::*;
|
||||
|
||||
pub fn CoolChild() -> Element {
|
||||
rsx! {
|
||||
div {
|
||||
{some_expr()}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
use dioxus::prelude::*;
|
||||
|
||||
pub fn CoolChild() -> Element {
|
||||
let a = 123;
|
||||
|
||||
rsx! {
|
||||
div {
|
||||
{some_expr()}
|
||||
}
|
||||
}
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,12 @@
|
||||
use dioxus::prelude::*;
|
||||
|
||||
pub fn CoolChild() -> Element {
|
||||
let head_ = rsx! {
|
||||
div {
|
||||
div { "asasddasdasd" }
|
||||
div { "asasdd1asaassdd23asasddasd" }
|
||||
}
|
||||
};
|
||||
|
||||
head_
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
use dioxus::prelude::*;
|
||||
|
||||
pub fn CoolChild() -> Element {
|
||||
let head_ = rsx! {
|
||||
div {
|
||||
div { "asasddasdasd" }
|
||||
div { "asasdd1asaassdd23asasddasdasd" }
|
||||
}
|
||||
};
|
||||
|
||||
head_
|
||||
}
|
||||
Reference in new issue
Block a user