forked from qt-creator/qt-creator
QmlDesigner: Only remove node with position
Extending the test case. Change-Id: I37255de763262e069c2f9d30b1ce584a0347fbcf Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -166,7 +166,10 @@ void RewriteActionCompressor::compressReparentIntoNewPropertyActions(QList<Rewri
|
||||
if (m_positionStore->nodeOffset(reparentAction->targetProperty().parentModelNode()) < 0) {
|
||||
actionsToRemove.append(action);
|
||||
|
||||
removeActions.append(new RemoveNodeRewriteAction(reparentAction->reparentedNode()));
|
||||
const ModelNode childNode = reparentAction->reparentedNode();
|
||||
|
||||
if (m_positionStore->nodeOffset(childNode) > 0)
|
||||
removeActions.append(new RemoveNodeRewriteAction(childNode));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1181,7 +1181,7 @@ void tst_TestCore::testRewriterReparentToNewNode()
|
||||
|
||||
const QList<ModelNode> children = rootModelNode.directSubModelNodes();
|
||||
|
||||
ModelNode rectangle = testRewriterView->createModelNode("QtQuick.Rectangle", 2, 0);
|
||||
ModelNode rectangle = testRewriterView->createModelNode("QtQuick.Rectangle");
|
||||
rootModelNode.nodeListProperty("data").reparentHere(rectangle);
|
||||
|
||||
rectangle.setIdWithoutRefactoring("newParent");
|
||||
@@ -1193,7 +1193,7 @@ void tst_TestCore::testRewriterReparentToNewNode()
|
||||
|
||||
{
|
||||
RewriterTransaction transaction = testRewriterView->beginRewriterTransaction("TEST");
|
||||
ModelNode rectangle = testRewriterView->createModelNode("QtQuick.Rectangle", 2, 0);
|
||||
ModelNode rectangle = testRewriterView->createModelNode("QtQuick.Rectangle");
|
||||
rootModelNode.nodeListProperty("data").reparentHere(rectangle);
|
||||
|
||||
rectangle.setIdWithoutRefactoring("newParent2");
|
||||
@@ -1223,6 +1223,29 @@ void tst_TestCore::testRewriterReparentToNewNode()
|
||||
|
||||
|
||||
QCOMPARE(textEdit.toPlainText(), expectedOutcome);
|
||||
|
||||
rectangle.destroy();
|
||||
|
||||
QCOMPARE(testRewriterView->allModelNodes().count(), 6);
|
||||
|
||||
{
|
||||
RewriterTransaction transaction = testRewriterView->beginRewriterTransaction("TEST");
|
||||
|
||||
ModelNode newChild = testRewriterView->createModelNode("QtQuick.Rectangle");
|
||||
rootModelNode.nodeListProperty("data").reparentHere(newChild);
|
||||
newChild.setIdWithoutRefactoring("newChild");
|
||||
ModelNode newParent = testRewriterView->createModelNode("QtQuick.Rectangle");
|
||||
rootModelNode.nodeListProperty("data").reparentHere(newParent);
|
||||
|
||||
newParent.setIdWithoutRefactoring("newParent3");
|
||||
|
||||
for (const ModelNode &child : children)
|
||||
newParent.nodeListProperty("data").reparentHere(child);
|
||||
|
||||
newParent.nodeListProperty("data").reparentHere(newChild);
|
||||
}
|
||||
|
||||
QCOMPARE(testRewriterView->allModelNodes().count(), 8);
|
||||
}
|
||||
|
||||
void tst_TestCore::testRewriterForGradientMagic()
|
||||
|
Reference in New Issue
Block a user