aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2020-12-10 15:58:36 +0100
committerMaximilian Goldstein <max.goldstein@qt.io>2020-12-16 10:16:13 +0100
commit224cebe0d96af0f3f4de27aff03918fc319687fa (patch)
tree4b06214708da9b6a2b6c1ee8277fdf3cfe716302 /tests/auto/qml
parentdd1db630b4f236b1cb52b89d5de246ad719d3676 (diff)
qmlformat: Remove import sorting
Remove import sorting due to the fact that sorting imports can break code. [ChangeLog][QML Tooling][qmlformat] Remove import sorting and the (now obsolete) -n parameter to disable it Fixes: QTBUG-89295 Change-Id: I5ff13d0ae3c715db7645b412152aadb31811ce5a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit cf3e0559b01b249a6ec06f8826e8e05aca1301ec)
Diffstat (limited to 'tests/auto/qml')
-rw-r--r--tests/auto/qml/qmlformat/data/Annotations.formatted.nosort.qml106
-rw-r--r--tests/auto/qml/qmlformat/data/Annotations.formatted.qml4
-rw-r--r--tests/auto/qml/qmlformat/data/Example1.formatted.nosort.qml151
-rw-r--r--tests/auto/qml/qmlformat/data/Example1.formatted.qml12
-rw-r--r--tests/auto/qml/qmlformat/tst_qmlformat.cpp63
5 files changed, 36 insertions, 300 deletions
diff --git a/tests/auto/qml/qmlformat/data/Annotations.formatted.nosort.qml b/tests/auto/qml/qmlformat/data/Annotations.formatted.nosort.qml
deleted file mode 100644
index a05c2125dc..0000000000
--- a/tests/auto/qml/qmlformat/data/Annotations.formatted.nosort.qml
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Charts module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//![2]
-import QtQuick 2.0
-//![2]
-import QtCharts 2.0
-
-@Pippo {
- atg1: 3
-}
-@Annotation2 {
-}
-Item {
- //![1]
-
- @AnnotateMore {
- property int x: 5
- }
- @AnnotateALot {
- }
-
- property variant othersSlice: 0
- @Annotate {
- }
-
- anchors.fill: parent
- @SuperComplete {
- binding: late
- }
- Component.onCompleted: {
- // You can also manipulate slices dynamically, like append a slice or set a slice exploded
- othersSlice = pieSeries.append("Others", 52);
- pieSeries.find("Volkswagen").exploded = true;
- }
- //![1]
- ChartView {
- id: chart
-
- title: "Top-5 car brand shares in Finland"
- anchors.fill: parent
- legend.alignment: Qt.AlignBottom
- antialiasing: true
-
- @ExtraAnnotation {
- signal pippo()
- }
- PieSeries {
- id: pieSeries
-
- PieSlice {
- label: "Volkswagen"
- value: 13.5
- }
-
- PieSlice {
- label: "Toyota"
- value: 10.9
- }
-
- PieSlice {
- label: "Ford"
- value: 8.6
- }
-
- PieSlice {
- label: "Skoda"
- value: 8.2
- }
-
- PieSlice {
- label: "Volvo"
- value: 6.8
- }
-
- }
-
- }
-
-}
diff --git a/tests/auto/qml/qmlformat/data/Annotations.formatted.qml b/tests/auto/qml/qmlformat/data/Annotations.formatted.qml
index a142d4cb74..a05c2125dc 100644
--- a/tests/auto/qml/qmlformat/data/Annotations.formatted.qml
+++ b/tests/auto/qml/qmlformat/data/Annotations.formatted.qml
@@ -28,9 +28,9 @@
****************************************************************************/
//![2]
-import QtCharts 2.0
-//![2]
import QtQuick 2.0
+//![2]
+import QtCharts 2.0
@Pippo {
atg1: 3
diff --git a/tests/auto/qml/qmlformat/data/Example1.formatted.nosort.qml b/tests/auto/qml/qmlformat/data/Example1.formatted.nosort.qml
deleted file mode 100644
index fdc0b1f68c..0000000000
--- a/tests/auto/qml/qmlformat/data/Example1.formatted.nosort.qml
+++ /dev/null
@@ -1,151 +0,0 @@
-/* This file is licensed under the not a license license
- 1. You may not comply
- 2. Goodbye
-*/
-
-// Importing this is very important
-import QtQuick 5.15
-// Muddling the waters!
-import QtQuick.Models 3.14 as muddle
-// Importing that is important too
-import Z
-import That
-import This // THIS IS VERY IMPORTANT!
-import Y
-import X.Z
-import X.Y
-import A.LLOHA
-import A.B.B.A
-
-// This comment is related to Item
-Item {
- // Orphan comment
- // Another orphan
- // More orphans
-
- // This to id
- // Also id. (line 2)
- // This is the third id
- // fourth id comment
- id: foo
-
- // This to enum
- enum Foo {
- A = 3, // This is A
- B, // This is B
- C = 4, // This is C
- D // This is D
- }
-
- property bool some_bool: false
- property variant some_array_literal: [30, 20, Math["PI"], [4, 3, 2], "foo", 0.3]
- property bool something_computed: function(x) {
- // This is an orphan inside something_computed
- // Are these getting duplicated?
- // Another orphan inside something_computed
-
- const PI = 3, DAYS_PER_YEAR = 365.25;
- var x = 3 + 2;
- x["bla"] = 50;
- // This one to var few!
- var few = new WhatEver();
- x += Math.sin(3);
- x--;
- --x;
- x++;
- ++x;
- for (var x = 0; x < 100; x++) {
- x++;
- console.log("Foo");
- }
- for (var x in [3, 2, 1]) {
- y++;
- console.log("Bar");
- }
- while (true)
- console.log("Wee");
-
- with (foo) {
- bar;
- x += 5;
- } // This is related to with!
- x3:
- do {
- console.log("Hello");
- } while (3 == 0);
- try {
- dangerous();
- } catch (e) {
- console.log(e);
- } finally {
- dangerous();
- }
- switch (x) {
- case 0:
- x = 1;
- break;
- case 1:
- x = 5;
- break;
- case 4:
- x = 100;
- break;
- }
- if (x == 50)
- console.log("true");
- else if (x == 50)
- console.log("other thing");
- else
- console.log("false");
- if (x == 50) {
- console.log("true");
- } else if (x == 50) {
- console.log("other thing");
- x--;
- } else {
- console.log("false");
- }
- return "foobar";
- }()
- default property bool some_default_bool: 500 % 5 !== 0 // some_default_bool
- // some_read_only_bool
- readonly property bool some_read_only_bool: Math.sin(3) && (aFunc()[30] + 5) | 2 != 0
-
- signal say(string name, bool caps)
-
- // This one to aFunc()
- function aFunc() {
- var x = 3;
- return x;
- }
-
- x: 3 // Very cool
- Component.onCompleted: console.log("Foo!")
- myFavouriteThings: [
- // This is an orphan
-
- // This is a cool text
- Text {
- },
- // This is a cool rectangle
- Rectangle {
- }
- ]
-
- Text {
- required property string batman
-
- signal boo(int count, int times, real duration)
-
- text: "Bla"
- }
-
- // This comment is related to the property animation
- PropertyAnimation on x {
- id: foo
-
- x: 3
- y: x + 3
- }
-
-}
diff --git a/tests/auto/qml/qmlformat/data/Example1.formatted.qml b/tests/auto/qml/qmlformat/data/Example1.formatted.qml
index 5f12517781..fdc0b1f68c 100644
--- a/tests/auto/qml/qmlformat/data/Example1.formatted.qml
+++ b/tests/auto/qml/qmlformat/data/Example1.formatted.qml
@@ -3,19 +3,19 @@
2. Goodbye
*/
-import A.B.B.A
-import A.LLOHA
// Importing this is very important
import QtQuick 5.15
// Muddling the waters!
import QtQuick.Models 3.14 as muddle
+// Importing that is important too
+import Z
import That
import This // THIS IS VERY IMPORTANT!
-import X.Y
-import X.Z
import Y
-// Importing that is important too
-import Z
+import X.Z
+import X.Y
+import A.LLOHA
+import A.B.B.A
// This comment is related to Item
Item {
diff --git a/tests/auto/qml/qmlformat/tst_qmlformat.cpp b/tests/auto/qml/qmlformat/tst_qmlformat.cpp
index 9e91ff8569..cb3c39aaff 100644
--- a/tests/auto/qml/qmlformat/tst_qmlformat.cpp
+++ b/tests/auto/qml/qmlformat/tst_qmlformat.cpp
@@ -53,7 +53,7 @@ private Q_SLOTS:
private:
QString readTestFile(const QString &path);
- QString runQmlformat(const QString &fileToFormat, bool sortImports, bool shouldSucceed, const QString &newlineFormat = "native");
+ QString runQmlformat(const QString &fileToFormat, bool shouldSucceed, const QString &newlineFormat = "native");
QString m_qmlformatPath;
QStringList m_excludedDirs;
@@ -179,16 +179,16 @@ QString TestQmlformat::readTestFile(const QString &path)
void TestQmlformat::testLineEndings()
{
// macos
- const QString macosContents = runQmlformat(testFile("Example1.formatted.qml"), false, true, "macos");
+ const QString macosContents = runQmlformat(testFile("Example1.formatted.qml"), true, "macos");
QVERIFY(!macosContents.contains("\n"));
QVERIFY(macosContents.contains("\r"));
// windows
- const QString windowsContents = runQmlformat(testFile("Example1.formatted.qml"), false, true, "windows");
+ const QString windowsContents = runQmlformat(testFile("Example1.formatted.qml"), true, "windows");
QVERIFY(windowsContents.contains("\r\n"));
// unix
- const QString unixContents = runQmlformat(testFile("Example1.formatted.qml"), false, true, "unix");
+ const QString unixContents = runQmlformat(testFile("Example1.formatted.qml"), true, "unix");
QVERIFY(unixContents.contains("\n"));
QVERIFY(!unixContents.contains("\r"));
}
@@ -197,58 +197,54 @@ void TestQmlformat::testFormat_data()
{
QTest::addColumn<QString>("file");
QTest::addColumn<QString>("fileFormatted");
- QTest::addColumn<bool>("sortImports");
QTest::addColumn<bool>("shouldSucceed");
- QTest::newRow("example1 (sorted)") << "Example1.qml"
- << "Example1.formatted.qml" << true << true;
- QTest::newRow("example1 (not sorted)") << "Example1.qml"
- << "Example1.formatted.nosort.qml" << false << true;
- QTest::newRow("annotation (sorted)") << "Annotations.qml"
- << "Annotations.formatted.qml" << true << true;
- QTest::newRow("annotation (not sorted)") << "Annotations.qml"
- << "Annotations.formatted.nosort.qml" << false << true;
+ QTest::newRow("example1")
+ << "Example1.qml"
+ << "Example1.formatted.qml" << true;
+ QTest::newRow("annotation")
+ << "Annotations.qml"
+ << "Annotations.formatted.qml" << true;
QTest::newRow("front inline") << "FrontInline.qml"
- << "FrontInline.formatted.qml" << false << true;
+ << "FrontInline.formatted.qml" << true;
QTest::newRow("if blocks") << "IfBlocks.qml"
- << "IfBlocks.formatted.qml" << false << true;
+ << "IfBlocks.formatted.qml" << true;
QTest::newRow("read-only properties") << "readOnlyProps.qml"
- << "readOnlyProps.formatted.qml" << false << true;
+ << "readOnlyProps.formatted.qml" << true;
QTest::newRow("states and transitions")
<< "statesAndTransitions.qml"
- << "statesAndTransitions.formatted.qml" << false << true;
+ << "statesAndTransitions.formatted.qml" << true;
QTest::newRow("large bindings") << "largeBindings.qml"
- << "largeBindings.formatted.qml" << false << true;
+ << "largeBindings.formatted.qml" << true;
QTest::newRow("verbatim strings") << "verbatimString.qml"
- << "verbatimString.formatted.qml" << false << true;
+ << "verbatimString.formatted.qml" << true;
QTest::newRow("inline components") << "inlineComponents.qml"
- << "inlineComponents.formatted.qml" << false << true;
+ << "inlineComponents.formatted.qml" << true;
QTest::newRow("nested ifs") << "nestedIf.qml"
- << "nestedIf.formatted.qml" << false << true;
+ << "nestedIf.formatted.qml" << true;
QTest::newRow("QTBUG-85003") << "QtBug85003.qml"
- << "QtBug85003.formatted.qml" << false << true;
+ << "QtBug85003.formatted.qml" << true;
QTest::newRow("nested functions") << "nestedFunctions.qml"
- << "nestedFunctions.formatted.qml" << false << true;
+ << "nestedFunctions.formatted.qml" << true;
QTest::newRow("multiline comments") << "multilineComment.qml"
- << "multilineComment.formatted.qml" << false << true;
+ << "multilineComment.formatted.qml" << true;
QTest::newRow("for of") << "forOf.qml"
- << "forOf.formatted.qml" << false << true;
+ << "forOf.formatted.qml" << true;
QTest::newRow("property names") << "propertyNames.qml"
- << "propertyNames.formatted.qml" << false << true;
+ << "propertyNames.formatted.qml" << true;
QTest::newRow("empty object") << "emptyObject.qml"
- << "emptyObject.formatted.qml" << false << true;
+ << "emptyObject.formatted.qml" << true;
QTest::newRow("arrow functions") << "arrowFunctions.qml"
- << "arrowFunctions.formatted.qml" << false << true;
+ << "arrowFunctions.formatted.qml" << true;
}
void TestQmlformat::testFormat()
{
QFETCH(QString, file);
QFETCH(QString, fileFormatted);
- QFETCH(bool, sortImports);
QFETCH(bool, shouldSucceed);
- QCOMPARE(runQmlformat(testFile(file), sortImports, shouldSucceed), readTestFile(fileFormatted));
+ QCOMPARE(runQmlformat(testFile(file), shouldSucceed), readTestFile(fileFormatted));
}
#if !defined(QTEST_CROSS_COMPILED) // sources not available when cross compiled
@@ -273,14 +269,14 @@ void TestQmlformat::testExample()
{
QFETCH(QString, file);
const bool isInvalid = isInvalidFile(QFileInfo(file));
- QString output = runQmlformat(file, true, !isInvalid);
+ QString output = runQmlformat(file, !isInvalid);
if (!isInvalid)
QVERIFY(!output.isEmpty());
}
#endif
-QString TestQmlformat::runQmlformat(const QString &fileToFormat, bool sortImports, bool shouldSucceed, const QString &newlineFormat)
+QString TestQmlformat::runQmlformat(const QString &fileToFormat, bool shouldSucceed, const QString &newlineFormat)
{
// Copy test file to temporary location
QTemporaryDir tempDir;
@@ -291,9 +287,6 @@ QString TestQmlformat::runQmlformat(const QString &fileToFormat, bool sortImport
args << "-i";
args << tempFile;
- if (!sortImports)
- args << "-n";
-
args << "-l" << newlineFormat;
auto verify = [&]() {