Fix inserting attributes after expanding dynamic nodes (#3094)

This commit is contained in:
Evan Almloff authored and GitHub committed 2024-10-24 13:43:39 -07:00
1 parent 3f8c32d1ff
commit ef436e4ed0
4 files changed
+101 -83

No files matched your search

+69 -70
View File
@@ -623,37 +623,37 @@ fn nested_suspense_resolves_client() {
// Load the title
LoadTemplate { index: 0, id: ElementId(2,) },
CreateTextNode { value: "The robot says hello world".to_string(), id: ElementId(4,) },
ReplacePlaceholder { path: &[0,], m: 1 },
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("title-0".to_string()),
id: ElementId(2,),
},
CreateTextNode { value: "The robot says hello world".to_string(), id: ElementId(4,) },
ReplacePlaceholder { path: &[0,], m: 1 },
// Then load the body
LoadTemplate { index: 1, id: ElementId(5,) },
CreateTextNode { value: "The robot becomes sentient and says hello world".to_string(), id: ElementId(6,) },
ReplacePlaceholder { path: &[0,], m: 1 },
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("body-0".to_string()),
id: ElementId(5,),
},
CreateTextNode { value: "The robot becomes sentient and says hello world".to_string(), id: ElementId(6,) },
ReplacePlaceholder { path: &[0,], m: 1 },
// Then load the suspended children
LoadTemplate { index: 2, id: ElementId(7,) },
CreateTextNode { value: "Loading 1...".to_string(), id: ElementId(8,) },
CreateTextNode { value: "Loading 2...".to_string(), id: ElementId(9,) },
ReplacePlaceholder { path: &[0,], m: 2 },
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("children-0".to_string()),
id: ElementId(7,),
},
CreateTextNode { value: "Loading 1...".to_string(), id: ElementId(8,) },
CreateTextNode { value: "Loading 2...".to_string(), id: ElementId(9,) },
ReplacePlaceholder { path: &[0,], m: 2 },
// Finally replace the loading placeholder in the body with the resolved children
ReplaceWith { id: ElementId(3,), m: 3 },
@@ -693,13 +693,6 @@ fn nested_suspense_resolves_client() {
8,
),
},
CreateTextNode { value: "The world says hello back".to_string(), id: ElementId(10,) },
ReplacePlaceholder {
path: &[
0,
],
m: 1,
},
SetAttribute {
name: "id",
ns: None,
@@ -708,13 +701,27 @@ fn nested_suspense_resolves_client() {
8,
),
},
CreateTextNode { value: "The world says hello back".to_string(), id: ElementId(10,) },
ReplacePlaceholder {
path: &[
0,
],
m: 1,
},
LoadTemplate {
index: 1,
id: ElementId(
11,
),
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("body-1".to_string()),
id: ElementId(
11,
),
},
CreateTextNode { value: "In a stunning turn of events, the world collectively unites and says hello back".to_string(), id: ElementId(12,) },
ReplacePlaceholder {
path: &[
@@ -722,16 +729,16 @@ fn nested_suspense_resolves_client() {
],
m: 1,
},
LoadTemplate {
index: 2,
id: ElementId(
13,
),
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("body-1".to_string()),
id: ElementId(
11,
),
},
LoadTemplate {
index: 2,
value: AttributeValue::Text("children-1".to_string()),
id: ElementId(
13,
),
@@ -743,14 +750,6 @@ fn nested_suspense_resolves_client() {
],
m: 1,
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("children-1".to_string()),
id: ElementId(
13,
),
},
ReplaceWith {
id: ElementId(
3,
@@ -776,13 +775,6 @@ fn nested_suspense_resolves_client() {
9,
),
},
CreateTextNode { value: "Goodbye Robot".to_string(), id: ElementId(15,) },
ReplacePlaceholder {
path: &[
0,
],
m: 1,
},
SetAttribute {
name: "id",
ns: None,
@@ -791,12 +783,27 @@ fn nested_suspense_resolves_client() {
9,
),
},
CreateTextNode { value: "Goodbye Robot".to_string(), id: ElementId(15,) },
ReplacePlaceholder {
path: &[
0,
],
m: 1,
},
LoadTemplate {
index: 1,
id: ElementId(
16,
),
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("body-2".to_string()),
id: ElementId(
16,
),
},
CreateTextNode { value: "The robot says goodbye".to_string(), id: ElementId(17,) },
ReplacePlaceholder {
path: &[
@@ -804,14 +811,6 @@ fn nested_suspense_resolves_client() {
],
m: 1,
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("body-2".to_string()),
id: ElementId(
16,
),
},
LoadTemplate {
index: 2,
@@ -819,9 +818,6 @@ fn nested_suspense_resolves_client() {
18,
),
},
// Create a placeholder for the resolved children
CreateTextNode { value: "Loading 3...".to_string(), id: ElementId(19,) },
ReplacePlaceholder { path: &[0,], m: 1 },
SetAttribute {
name: "id",
ns: None,
@@ -830,6 +826,9 @@ fn nested_suspense_resolves_client() {
18,
),
},
// Create a placeholder for the resolved children
CreateTextNode { value: "Loading 3...".to_string(), id: ElementId(19,) },
ReplacePlaceholder { path: &[0,], m: 1 },
// Replace the loading placeholder with the resolved children
ReplaceWith {
@@ -864,13 +863,6 @@ fn nested_suspense_resolves_client() {
19,
),
},
CreateTextNode { value: "Goodbye Robot again".to_string(), id: ElementId(20,) },
ReplacePlaceholder {
path: &[
0,
],
m: 1,
},
SetAttribute {
name: "id",
ns: None,
@@ -879,12 +871,27 @@ fn nested_suspense_resolves_client() {
19,
),
},
CreateTextNode { value: "Goodbye Robot again".to_string(), id: ElementId(20,) },
ReplacePlaceholder {
path: &[
0,
],
m: 1,
},
LoadTemplate {
index: 1,
id: ElementId(
21,
),
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("body-3".to_string()),
id: ElementId(
21,
),
},
CreateTextNode { value: "The robot says goodbye again".to_string(), id: ElementId(22,) },
ReplacePlaceholder {
path: &[
@@ -892,16 +899,16 @@ fn nested_suspense_resolves_client() {
],
m: 1,
},
LoadTemplate {
index: 2,
id: ElementId(
23,
),
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("body-3".to_string()),
id: ElementId(
21,
),
},
LoadTemplate {
index: 2,
value: AttributeValue::Text("children-3".to_string()),
id: ElementId(
23,
),
@@ -913,14 +920,6 @@ fn nested_suspense_resolves_client() {
],
m: 1,
},
SetAttribute {
name: "id",
ns: None,
value: AttributeValue::Text("children-3".to_string()),
id: ElementId(
23,
),
},
ReplaceWith {
id: ElementId(
3,