17MockObject MockObject::
copy()
const
19 QMap<QString, MockObject> newObjs;
20 auto objs = subObjects;
21 auto itO = objs.cbegin();
22 auto endO = objs.cend();
24 newObjs.insert(itO.key(), itO->copy());
27 return MockObject(pathFromOwner(), newObjs, subValues);
37 static QHash<QString, QString> knownFields;
39 auto toField = [](
const QString &f) -> QStringView {
41 if (!knownFields.contains(f))
43 return knownFields[f];
45 bool cont = CommentableDomElement::iterateDirectSubpaths(self, visitor);
46 auto itV = subValues.begin();
47 auto endV = subValues.end();
49 cont = cont && self.dvValue(visitor,
PathEls::Field(toField(itV.key())), *itV);
52 auto itO = subObjects.begin();
53 auto endO = subObjects.end();
55 cont = cont && self.dvItem(visitor,
PathEls::Field(toField(itO.key())), [&self, &itO]() {
56 return self.copy(&(*itO));
92 static QHash<QString, QString> knownFields;
94 auto toField = [](
const QString &f) -> QStringView {
96 if (!knownFields.contains(f))
98 return knownFields[f];
101 auto itV = subValues.begin();
102 auto endV = subValues.end();
103 while (itV != endV) {
104 if (!self.dvValue(visitor,
PathEls::Field(toField(itV.key())), *itV))
110 auto itO = subObjects.begin();
111 auto endO = subObjects.end();
112 while (itO != endO) {
113 if (!self.dvItem(visitor,
PathEls::Field(toField(itO.key())),
114 [&self, &itO]() {
return self.copy(&(*itO)); }))
120 auto it = subMaps.begin();
121 auto end = subMaps.end();
123 if (!self.dvWrapField(visitor, toField(it.key()), it.value()))
129 auto it = subMultiMaps.begin();
130 auto end = subMultiMaps.end();
132 if (!self.dvWrapField(visitor, toField(it.key()), it.value()))
138 auto it = subLists.begin();
139 auto end = subLists.end();
141 if (!self.dvWrapField(visitor, toField(it.key()), it.value()))