fix: node reclaimation
This commit is contained in:
1 parent
5713e13ff2
commit
bffb2644a3
6 files changed
+129
-125
No files matched your search
@@ -59,7 +59,7 @@ fn element_swap() {
|
||||
assert_eq!(
|
||||
vdom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(3,) },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(1,) },
|
||||
ReplaceWith { id: ElementId(2,), m: 1 },
|
||||
]
|
||||
);
|
||||
@@ -68,8 +68,8 @@ fn element_swap() {
|
||||
assert_eq!(
|
||||
vdom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(4,) },
|
||||
ReplaceWith { id: ElementId(3,), m: 1 },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(2,) },
|
||||
ReplaceWith { id: ElementId(1,), m: 1 },
|
||||
]
|
||||
);
|
||||
|
||||
@@ -77,8 +77,8 @@ fn element_swap() {
|
||||
assert_eq!(
|
||||
vdom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(5,) },
|
||||
ReplaceWith { id: ElementId(4,), m: 1 },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(1,) },
|
||||
ReplaceWith { id: ElementId(2,), m: 1 },
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -41,8 +41,8 @@ fn list_creates_one_by_one() {
|
||||
assert_eq!(
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(5,) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(6,) },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(2,) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(5,) },
|
||||
InsertAfter { id: ElementId(3,), m: 1 },
|
||||
]
|
||||
);
|
||||
@@ -52,9 +52,9 @@ fn list_creates_one_by_one() {
|
||||
assert_eq!(
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(7,) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(8,) },
|
||||
InsertAfter { id: ElementId(5,), m: 1 },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(6,) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(7,) },
|
||||
InsertAfter { id: ElementId(2,), m: 1 },
|
||||
]
|
||||
);
|
||||
|
||||
@@ -63,9 +63,9 @@ fn list_creates_one_by_one() {
|
||||
assert_eq!(
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(9,) },
|
||||
HydrateText { path: &[0], value: "3", id: ElementId(10,) },
|
||||
InsertAfter { id: ElementId(7,), m: 1 },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(8,) },
|
||||
HydrateText { path: &[0], value: "3", id: ElementId(9,) },
|
||||
InsertAfter { id: ElementId(6,), m: 1 },
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -125,7 +125,7 @@ fn removes_one_by_one() {
|
||||
assert_eq!(
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
CreatePlaceholder { id: ElementId(8) },
|
||||
CreatePlaceholder { id: ElementId(3) },
|
||||
ReplaceWith { id: ElementId(2), m: 1 }
|
||||
]
|
||||
);
|
||||
@@ -136,13 +136,13 @@ fn removes_one_by_one() {
|
||||
assert_eq!(
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(9) },
|
||||
HydrateText { path: &[0], value: "0", id: ElementId(10) },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(11) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(12) },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(13) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(14) },
|
||||
ReplaceWith { id: ElementId(8), m: 3 }
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(2) },
|
||||
HydrateText { path: &[0], value: "0", id: ElementId(4) },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(5) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(6) },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(7) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(8) },
|
||||
ReplaceWith { id: ElementId(3), m: 3 }
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -150,10 +150,9 @@ fn removes_one_by_one() {
|
||||
#[test]
|
||||
fn list_shrink_multiroot() {
|
||||
let mut dom = VirtualDom::new(|cx| {
|
||||
let gen = cx.generation();
|
||||
cx.render(rsx! {
|
||||
div {
|
||||
(0..gen).map(|i| rsx! {
|
||||
(0..cx.generation()).map(|i| rsx! {
|
||||
div { "{i}" }
|
||||
div { "{i}" }
|
||||
})
|
||||
@@ -186,10 +185,10 @@ fn list_shrink_multiroot() {
|
||||
assert_eq!(
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(7) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(8) },
|
||||
LoadTemplate { name: "template", index: 1, id: ElementId(9) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(10) },
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(2) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(7) },
|
||||
LoadTemplate { name: "template", index: 1, id: ElementId(8) },
|
||||
HydrateText { path: &[0], value: "1", id: ElementId(9) },
|
||||
InsertAfter { id: ElementId(5), m: 2 }
|
||||
]
|
||||
);
|
||||
@@ -198,11 +197,11 @@ fn list_shrink_multiroot() {
|
||||
assert_eq!(
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(11) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(12) },
|
||||
LoadTemplate { name: "template", index: 1, id: ElementId(13) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(14) },
|
||||
InsertAfter { id: ElementId(9), m: 2 }
|
||||
LoadTemplate { name: "template", index: 0, id: ElementId(10) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(11) },
|
||||
LoadTemplate { name: "template", index: 1, id: ElementId(12) },
|
||||
HydrateText { path: &[0], value: "2", id: ElementId(13) },
|
||||
InsertAfter { id: ElementId(8), m: 2 }
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -266,7 +265,7 @@ fn removes_one_by_one_multiroot() {
|
||||
dom.render_immediate().santize().edits,
|
||||
[
|
||||
Remove { id: ElementId(4) },
|
||||
CreatePlaceholder { id: ElementId(14) },
|
||||
CreatePlaceholder { id: ElementId(5) },
|
||||
ReplaceWith { id: ElementId(2), m: 1 }
|
||||
]
|
||||
);
|
||||
|
||||
Reference in new issue
Block a user