|
@@ -314,66 +314,76 @@ fn remove_many() {
|
|
})
|
|
})
|
|
});
|
|
});
|
|
|
|
|
|
- let edits = dom.rebuild().santize();
|
|
|
|
- assert!(edits.templates.is_empty());
|
|
|
|
- assert_eq!(
|
|
|
|
- edits.edits,
|
|
|
|
- [
|
|
|
|
- CreatePlaceholder { id: ElementId(1,) },
|
|
|
|
- AppendChildren { id: ElementId(0), m: 1 },
|
|
|
|
- ]
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- dom.mark_dirty(ScopeId(0));
|
|
|
|
- let edits = dom.render_immediate().santize();
|
|
|
|
- assert_eq!(
|
|
|
|
- edits.edits,
|
|
|
|
- [
|
|
|
|
- LoadTemplate { name: "template", index: 0, id: ElementId(2,) },
|
|
|
|
- HydrateText { path: &[0,], value: "hello 0", id: ElementId(3,) },
|
|
|
|
- ReplaceWith { id: ElementId(1,), m: 1 },
|
|
|
|
- ]
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- dom.mark_dirty(ScopeId(0));
|
|
|
|
- let edits = dom.render_immediate().santize();
|
|
|
|
- assert_eq!(
|
|
|
|
- edits.edits,
|
|
|
|
- [
|
|
|
|
- LoadTemplate { name: "template", index: 0, id: ElementId(1,) },
|
|
|
|
- HydrateText { path: &[0,], value: "hello 1", id: ElementId(4,) },
|
|
|
|
- LoadTemplate { name: "template", index: 0, id: ElementId(5,) },
|
|
|
|
- HydrateText { path: &[0,], value: "hello 2", id: ElementId(6,) },
|
|
|
|
- LoadTemplate { name: "template", index: 0, id: ElementId(7,) },
|
|
|
|
- HydrateText { path: &[0,], value: "hello 3", id: ElementId(8,) },
|
|
|
|
- LoadTemplate { name: "template", index: 0, id: ElementId(9,) },
|
|
|
|
- HydrateText { path: &[0,], value: "hello 4", id: ElementId(10,) },
|
|
|
|
- InsertAfter { id: ElementId(2,), m: 4 },
|
|
|
|
- ]
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- dom.mark_dirty(ScopeId(0));
|
|
|
|
- let edits = dom.render_immediate().santize();
|
|
|
|
- assert_eq!(
|
|
|
|
- edits.edits,
|
|
|
|
- [
|
|
|
|
- Remove { id: ElementId(9,) },
|
|
|
|
- Remove { id: ElementId(7,) },
|
|
|
|
- Remove { id: ElementId(5,) },
|
|
|
|
- Remove { id: ElementId(1,) },
|
|
|
|
- CreatePlaceholder { id: ElementId(3,) },
|
|
|
|
- ReplaceWith { id: ElementId(2,), m: 1 },
|
|
|
|
- ]
|
|
|
|
- );
|
|
|
|
-
|
|
|
|
- dom.mark_dirty(ScopeId(0));
|
|
|
|
- let edits = dom.render_immediate().santize();
|
|
|
|
- assert_eq!(
|
|
|
|
- edits.edits,
|
|
|
|
- [
|
|
|
|
- LoadTemplate { name: "template", index: 0, id: ElementId(2,) },
|
|
|
|
- HydrateText { path: &[0,], value: "hello 0", id: ElementId(1,) },
|
|
|
|
- ReplaceWith { id: ElementId(3,), m: 1 },
|
|
|
|
- ]
|
|
|
|
- )
|
|
|
|
|
|
+ {
|
|
|
|
+ let edits = dom.rebuild().santize();
|
|
|
|
+ assert!(edits.templates.is_empty());
|
|
|
|
+ assert_eq!(
|
|
|
|
+ edits.edits,
|
|
|
|
+ [
|
|
|
|
+ CreatePlaceholder { id: ElementId(1,) },
|
|
|
|
+ AppendChildren { id: ElementId(0), m: 1 },
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ dom.mark_dirty(ScopeId(0));
|
|
|
|
+ let edits = dom.render_immediate().santize();
|
|
|
|
+ assert_eq!(
|
|
|
|
+ edits.edits,
|
|
|
|
+ [
|
|
|
|
+ LoadTemplate { name: "template", index: 0, id: ElementId(2,) },
|
|
|
|
+ HydrateText { path: &[0,], value: "hello 0", id: ElementId(3,) },
|
|
|
|
+ ReplaceWith { id: ElementId(1,), m: 1 },
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ dom.mark_dirty(ScopeId(0));
|
|
|
|
+ let edits = dom.render_immediate().santize();
|
|
|
|
+ assert_eq!(
|
|
|
|
+ edits.edits,
|
|
|
|
+ [
|
|
|
|
+ LoadTemplate { name: "template", index: 0, id: ElementId(1,) },
|
|
|
|
+ HydrateText { path: &[0,], value: "hello 1", id: ElementId(4,) },
|
|
|
|
+ LoadTemplate { name: "template", index: 0, id: ElementId(5,) },
|
|
|
|
+ HydrateText { path: &[0,], value: "hello 2", id: ElementId(6,) },
|
|
|
|
+ LoadTemplate { name: "template", index: 0, id: ElementId(7,) },
|
|
|
|
+ HydrateText { path: &[0,], value: "hello 3", id: ElementId(8,) },
|
|
|
|
+ LoadTemplate { name: "template", index: 0, id: ElementId(9,) },
|
|
|
|
+ HydrateText { path: &[0,], value: "hello 4", id: ElementId(10,) },
|
|
|
|
+ InsertAfter { id: ElementId(2,), m: 4 },
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ dom.mark_dirty(ScopeId(0));
|
|
|
|
+ let edits = dom.render_immediate().santize();
|
|
|
|
+ assert_eq!(
|
|
|
|
+ edits.edits,
|
|
|
|
+ [
|
|
|
|
+ Remove { id: ElementId(9,) },
|
|
|
|
+ Remove { id: ElementId(7,) },
|
|
|
|
+ Remove { id: ElementId(5,) },
|
|
|
|
+ Remove { id: ElementId(1,) },
|
|
|
|
+ CreatePlaceholder { id: ElementId(3,) },
|
|
|
|
+ ReplaceWith { id: ElementId(2,), m: 1 },
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ dom.mark_dirty(ScopeId(0));
|
|
|
|
+ let edits = dom.render_immediate().santize();
|
|
|
|
+ assert_eq!(
|
|
|
|
+ edits.edits,
|
|
|
|
+ [
|
|
|
|
+ LoadTemplate { name: "template", index: 0, id: ElementId(2,) },
|
|
|
|
+ HydrateText { path: &[0,], value: "hello 0", id: ElementId(1,) },
|
|
|
|
+ ReplaceWith { id: ElementId(3,), m: 1 },
|
|
|
|
+ ]
|
|
|
|
+ )
|
|
|
|
+ }
|
|
}
|
|
}
|