10 #include <QDomDocument> 23 auto MakeDocument (
const QString& str)
27 return doc.firstChildElement (
"root");
31 void DomChildrenRangeTest::testEmpty ()
33 const auto& parent = MakeDocument (R
"( 39 for (
const auto& elem :
DomChildren (parent,
"child"))
40 texts << elem.text ();
41 QCOMPARE (texts, QStringList {});
44 void DomChildrenRangeTest::testSingle ()
46 const auto& parent = MakeDocument (R
"( 53 for (
const auto& elem :
DomChildren (parent,
"child"))
54 texts << elem.text ();
55 QCOMPARE (texts, QStringList {
"foo" });
58 void DomChildrenRangeTest::testMultiple ()
60 const auto& parent = MakeDocument (R
"( 69 for (
const auto& elem :
DomChildren (parent,
"child"))
70 texts << elem.text ();
71 QCOMPARE (texts, (QStringList {
"foo",
"bar",
"baz" }));
auto DomChildren(const QDomNode &parent, const QString &tag)
Creates a range iterating over direct children named tag.