32 CFX_XMLElement node1
(L"node"
);
33 CFX_XMLElement node2
(L"node2"
);
34 CFX_XMLElement node3
(L"node3"
);
36 node1.AppendLastChild(&node2);
37 node2.AppendLastChild(&node3);
39 EXPECT_FALSE(node1.GetParent());
40 EXPECT_EQ(&node1, node2.GetParent());
41 EXPECT_EQ(&node2, node3.GetParent());
58 CFX_XMLElement node1
(L"node"
);
59 CFX_XMLElement node2
(L"node2"
);
60 CFX_XMLElement node3
(L"node3"
);
61 CFX_XMLElement node4
(L"node4"
);
63 node1.AppendLastChild(&node2);
64 node1.AppendLastChild(&node4);
65 node2.AppendLastChild(&node3);
67 EXPECT_EQ(&node2, node1.GetFirstChild());
69 EXPECT_EQ(&node4, node2.GetNextSibling());
70 EXPECT_EQ(&node3, node2.GetFirstChild());
72 EXPECT_TRUE(node3.GetNextSibling() ==
nullptr);
73 EXPECT_TRUE(node3.GetFirstChild() ==
nullptr);
75 EXPECT_TRUE(node4.GetNextSibling() ==
nullptr);
76 EXPECT_TRUE(node4.GetFirstChild() ==
nullptr);
80 CFX_XMLElement node1
(L"node"
);
81 CFX_XMLElement node2
(L"node2"
);
82 CFX_XMLElement node3
(L"node3"
);
83 CFX_XMLElement node4
(L"node4"
);
85 node1.AppendLastChild(&node2);
86 node1.AppendLastChild(&node4);
87 node2.AppendLastChild(&node3);
89 node1.RemoveAllChildren();
90 EXPECT_TRUE(node1.GetFirstChild() ==
nullptr);
91 EXPECT_TRUE(node2.GetParent() ==
nullptr);
92 EXPECT_TRUE(node4.GetParent() ==
nullptr);
95 EXPECT_TRUE(node2.GetNextSibling() ==
nullptr);
96 EXPECT_TRUE(node4.GetPrevSibling() ==
nullptr);
99 EXPECT_EQ(&node3, node2.GetFirstChild());
100 EXPECT_TRUE(node3.GetParent() == &node2);
104 CFX_XMLElement parent
(L"Root"
);
105 CFX_XMLElement nodeA
(L"A"
);
106 CFX_XMLElement nodeB
(L"B"
);
108 parent.AppendLastChild(&nodeA);
109 parent.AppendLastChild(&nodeB);
111 EXPECT_EQ(L"AB", ChildrenString(&parent));
112 EXPECT_EQ(L"AB", ReverseChildrenString(&parent));
113 EXPECT_EQ(&parent, nodeA.GetParent());
114 EXPECT_EQ(&parent, nodeB.GetParent());
115 EXPECT_EQ(&nodeA, parent.GetFirstChild());
116 EXPECT_EQ(&nodeB, nodeA.GetNextSibling());
117 EXPECT_TRUE(nodeB.GetNextSibling() ==
nullptr);
120 CFX_XMLElement nodeC
(L"C"
);
122 EXPECT_EQ(L"ABC", ChildrenString(&parent));
123 EXPECT_EQ(L"ABC", ReverseChildrenString(&parent));
124 EXPECT_EQ(&parent, nodeC.GetParent());
125 EXPECT_EQ(&nodeC, nodeB.GetNextSibling());
126 EXPECT_TRUE(nodeC.GetNextSibling() ==
nullptr);
129 CFX_XMLElement nodeD
(L"D"
);
131 EXPECT_EQ(L"ADBC", ChildrenString(&parent));
132 EXPECT_EQ(L"ADBC", ReverseChildrenString(&parent));
135 CFX_XMLElement nodeE
(L"E"
);
137 EXPECT_EQ(L"EADBC", ChildrenString(&parent));
138 EXPECT_EQ(L"EADBC", ReverseChildrenString(&parent));
141 CFX_XMLElement nodeF
(L"F"
);
143 EXPECT_EQ(L"EADBCF", ChildrenString(&parent));
144 EXPECT_EQ(L"EADBCF", ReverseChildrenString(&parent));
148 CFX_XMLElement node1
(L"node1"
);
149 CFX_XMLElement node2
(L"node2"
);
150 CFX_XMLElement node3
(L"node3"
);
151 CFX_XMLElement node4
(L"node4"
);
153 node1.AppendLastChild(&node2);
154 node1.AppendLastChild(&node3);
155 node1.AppendLastChild(&node4);
157 EXPECT_EQ(L"node2node3node4", ChildrenString(&node1));
158 EXPECT_EQ(L"node2node3node4", ReverseChildrenString(&node1));
159 EXPECT_EQ(&node2, node1.GetFirstChild());
160 EXPECT_EQ(&node3, node2.GetNextSibling());
161 EXPECT_EQ(&node4, node3.GetNextSibling());
162 EXPECT_TRUE(node4.GetNextSibling() ==
nullptr);
164 node1.RemoveChild(&node3);
166 EXPECT_EQ(L"node2node4", ChildrenString(&node1));
167 EXPECT_EQ(L"node2node4", ReverseChildrenString(&node1));
168 EXPECT_TRUE(node3.GetParent() ==
nullptr);
169 EXPECT_TRUE(node3.GetNextSibling() ==
nullptr);
170 EXPECT_TRUE(node3.GetPrevSibling() ==
nullptr);
171 EXPECT_EQ(&node2, node1.GetFirstChild());
172 EXPECT_EQ(&node4, node2.GetNextSibling());
173 EXPECT_EQ(&node2, node4.GetPrevSibling());
174 EXPECT_TRUE(node4.GetNextSibling() ==
nullptr);
178 CFX_XMLElement node1
(L"node1"
);
179 CFX_XMLElement node2
(L"node2"
);
180 CFX_XMLElement node3
(L"node3"
);
181 CFX_XMLElement node4
(L"node4"
);
183 node1.AppendLastChild(&node2);
184 node1.AppendLastChild(&node3);
185 node1.AppendLastChild(&node4);
187 EXPECT_EQ(L"node2node3node4", ChildrenString(&node1));
188 EXPECT_EQ(L"node2node3node4", ReverseChildrenString(&node1));
189 EXPECT_EQ(&node2, node1.GetFirstChild());
190 EXPECT_EQ(&node3, node2.GetNextSibling());
191 EXPECT_EQ(&node4, node3.GetNextSibling());
192 EXPECT_TRUE(node4.GetNextSibling() ==
nullptr);
194 node1.RemoveChild(&node2);
196 EXPECT_EQ(L"node3node4", ChildrenString(&node1));
197 EXPECT_EQ(L"node3node4", ReverseChildrenString(&node1));
198 EXPECT_TRUE(node2.GetParent() ==
nullptr);
199 EXPECT_TRUE(node2.GetNextSibling() ==
nullptr);
200 EXPECT_TRUE(node2.GetPrevSibling() ==
nullptr);
201 EXPECT_EQ(&node3, node1.GetFirstChild());
202 EXPECT_TRUE(node3.GetPrevSibling() ==
nullptr);
203 EXPECT_EQ(&node4, node3.GetNextSibling());
204 EXPECT_TRUE(node4.GetNextSibling() ==
nullptr);
208 CFX_XMLElement node1
(L"node1"
);
209 CFX_XMLElement node2
(L"node2"
);
210 CFX_XMLElement node3
(L"node3"
);
211 CFX_XMLElement node4
(L"node4"
);
213 node1.AppendLastChild(&node2);
214 node1.AppendLastChild(&node3);
215 node1.AppendLastChild(&node4);
217 EXPECT_EQ(L"node2node3node4", ChildrenString(&node1));
218 EXPECT_EQ(L"node2node3node4", ReverseChildrenString(&node1));
219 EXPECT_EQ(&node2, node1.GetFirstChild());
220 EXPECT_EQ(&node3, node2.GetNextSibling());
221 EXPECT_EQ(&node4, node3.GetNextSibling());
222 EXPECT_TRUE(node4.GetNextSibling() ==
nullptr);
224 node1.RemoveChild(&node4);
226 EXPECT_EQ(L"node2node3", ChildrenString(&node1));
227 EXPECT_EQ(L"node2node3", ReverseChildrenString(&node1));
228 EXPECT_TRUE(node4.GetParent() ==
nullptr);
229 EXPECT_TRUE(node4.GetNextSibling() ==
nullptr);
230 EXPECT_TRUE(node4.GetPrevSibling() ==
nullptr);
231 EXPECT_EQ(&node2, node1.GetFirstChild());
232 EXPECT_EQ(&node3, node2.GetNextSibling());
233 EXPECT_TRUE(node3.GetNextSibling() ==
nullptr);
237 CFX_XMLElement node1
(L"node1"
);
238 CFX_XMLElement node2
(L"node2"
);
240 node1.AppendLastChild(&node2);
242 EXPECT_EQ(&node2, node1.GetFirstChild());
243 EXPECT_TRUE(node2.GetNextSibling() ==
nullptr);
245 node1.RemoveChild(&node2);
246 EXPECT_TRUE(node2.GetParent() ==
nullptr);
248 EXPECT_TRUE(node1.GetFirstChild() ==
nullptr);
249 EXPECT_TRUE(node2.GetNextSibling() ==
nullptr);
250 EXPECT_TRUE(node2.GetPrevSibling() ==
nullptr);