QmlDesigner: Trim strings in tests when comparing

We use a NonIndenting rewriter and do not test the indentation.
Therefore we can trim white spaces.

Change-Id: I16e4acbbbc69568549cb679d988ff951b68f33b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Thomas Hartmann
2021-06-16 22:16:42 +02:00
parent 6dba941b3f
commit 4642dc3518

View File

@@ -103,6 +103,17 @@ namespace QTest {
QT_END_NAMESPACE QT_END_NAMESPACE
static QString stripWhiteSpaces(const QString &str)
{
QStringList list = str.split("\n", Qt::SkipEmptyParts);
QString result;
for (auto &str : list)
result.append(str.trimmed() + "\n");
return result;
}
QString resourcePath() QString resourcePath()
{ {
return QDir::cleanPath(QTCREATORDIR + QLatin1String(SHARE_PATH)); return QDir::cleanPath(QTCREATORDIR + QLatin1String(SHARE_PATH));
@@ -2601,7 +2612,7 @@ void tst_TestCore::testRewriterId()
"}\n" "}\n"
"}\n"); "}\n");
QCOMPARE(textEdit.toPlainText(), expected); QCOMPARE(stripWhiteSpaces(textEdit.toPlainText()), stripWhiteSpaces(expected));
} }
void tst_TestCore::testRewriterNodeReparentingTransaction1() void tst_TestCore::testRewriterNodeReparentingTransaction1()
@@ -3354,7 +3365,7 @@ void tst_TestCore::testRewriterForArrayMagic()
" }\n" " }\n"
" ]\n" " ]\n"
"}\n"); "}\n");
QCOMPARE(textEdit.toPlainText(), expected); QCOMPARE(stripWhiteSpaces(textEdit.toPlainText()), stripWhiteSpaces(expected));
} catch (Exception &e) { } catch (Exception &e) {
qDebug() << "Exception:" << e.description() << "at line" << e.line() << "in function" << e.function() << "in file" << e.file(); qDebug() << "Exception:" << e.description() << "at line" << e.line() << "in function" << e.function() << "in file" << e.file();
QFAIL(qPrintable(e.description())); QFAIL(qPrintable(e.description()));
@@ -3709,7 +3720,7 @@ void tst_TestCore::testCopyModelRewriter1()
" }\n" " }\n"
"}"); "}");
QCOMPARE(textEdit1.toPlainText(), expected); QCOMPARE(stripWhiteSpaces(textEdit1.toPlainText()), stripWhiteSpaces(expected));
} }
static QString readQmlFromFile(const QString& fileName) static QString readQmlFromFile(const QString& fileName)
@@ -3832,8 +3843,8 @@ void tst_TestCore::testMergeModelRewriter1()
StylesheetMerger merger(templateView.data(), styleView.data()); StylesheetMerger merger(templateView.data(), styleView.data());
merger.merge(); merger.merge();
QString trimmedActual = textEdit1.toPlainText().trimmed(); QString trimmedActual = stripWhiteSpaces(textEdit1.toPlainText());
QString trimmedExpected = qmlExpectedString.trimmed(); QString trimmedExpected = stripWhiteSpaces(qmlExpectedString);
QCOMPARE(trimmedActual, trimmedExpected); QCOMPARE(trimmedActual, trimmedExpected);
} }
@@ -3933,7 +3944,7 @@ void tst_TestCore::testCopyModelRewriter2()
QVERIFY(rootNode2.isValid()); QVERIFY(rootNode2.isValid());
QCOMPARE(rootNode2.type(), QmlDesigner::TypeName("QtQuick.Rectangle")); QCOMPARE(rootNode2.type(), QmlDesigner::TypeName("QtQuick.Rectangle"));
QCOMPARE(textEdit2.toPlainText(), qmlString1); QCOMPARE(stripWhiteSpaces(textEdit2.toPlainText()), stripWhiteSpaces(qmlString1));
} }
void tst_TestCore::testSubComponentManager() void tst_TestCore::testSubComponentManager()
@@ -3993,7 +4004,7 @@ void tst_TestCore::testSubComponentManager()
void tst_TestCore::testAnchorsAndRewriting() void tst_TestCore::testAnchorsAndRewriting()
{ {
const QString qmlString("import QtQuick 2.1\n" const QString qmlString("import QtQuick 2.15\n"
"Rectangle {\n" "Rectangle {\n"
" id: root\n" " id: root\n"
" x: 10;\n" " x: 10;\n"
@@ -4874,8 +4885,8 @@ void tst_TestCore::testGradientsRewriter()
"Rectangle {\n" "Rectangle {\n"
"gradient: Gradient {\n" "gradient: Gradient {\n"
"GradientStop {\n" "GradientStop {\n"
" position: 0\n" "position: 0\n"
" color: \"#ff0000\"\n" "color: \"#ff0000\"\n"
"}\n" "}\n"
"}\n" "}\n"
"}\n" "}\n"
@@ -4897,13 +4908,13 @@ void tst_TestCore::testGradientsRewriter()
"Rectangle {\n" "Rectangle {\n"
"gradient: Gradient {\n" "gradient: Gradient {\n"
"GradientStop {\n" "GradientStop {\n"
" position: 0\n" "position: 0\n"
" color: \"#ff0000\"\n" "color: \"#ff0000\"\n"
"}\n" "}\n"
"\n" "\n"
"GradientStop {\n" "GradientStop {\n"
" position: 0.5\n" "position: 0.5\n"
" color: \"#0000ff\"\n" "color: \"#0000ff\"\n"
"}\n" "}\n"
"}\n" "}\n"
"}\n" "}\n"
@@ -4942,7 +4953,7 @@ void tst_TestCore::testGradientsRewriter()
"}\n" "}\n"
"}\n"); "}\n");
QCOMPARE(textEdit.toPlainText(), expected5); QCOMPARE(stripWhiteSpaces(textEdit.toPlainText()), stripWhiteSpaces(expected5));
gradientNode.removeProperty("stops"); gradientNode.removeProperty("stops");
@@ -7740,6 +7751,8 @@ void tst_TestCore::testRewriterNodeReparenting()
QCOMPARE(textEdit.toPlainText(), expected); QCOMPARE(textEdit.toPlainText(), expected);
QCOMPARE(stripWhiteSpaces(textEdit.toPlainText()), stripWhiteSpaces(expected));
// reparent out of the hierarchy // reparent out of the hierarchy
ModelNode node4 = view->createModelNode("QtQuick.Rectangle", 2, 0); ModelNode node4 = view->createModelNode("QtQuick.Rectangle", 2, 0);
node4.nodeListProperty("data").reparentHere(node1); node4.nodeListProperty("data").reparentHere(node1);