diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2020-06-17 14:06:11 +0200 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2020-07-02 15:11:29 +0200 |
commit | eb2e53ae81239b561022940db27e65c23506450c (patch) | |
tree | 00e6e357c038a42d9f214aa62101423b857463f1 /tests | |
parent | d9a051a7056212d521c1f8aa3f8e5d66b1a01e96 (diff) |
qmlformat: Fix nested ifs
Fixes: QTBUG-85077
Change-Id: Ia2fec64a389fd7355f3fcf9438408b021c5abef4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit df1f4c9a9f3e3c60fdd43513fdc4926c0cbaa553)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qml/qmlformat/data/nestedIf.formatted.qml | 29 | ||||
-rw-r--r-- | tests/auto/qml/qmlformat/data/nestedIf.qml | 30 | ||||
-rw-r--r-- | tests/auto/qml/qmlformat/tst_qmlformat.cpp | 8 |
3 files changed, 67 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlformat/data/nestedIf.formatted.qml b/tests/auto/qml/qmlformat/data/nestedIf.formatted.qml new file mode 100644 index 0000000000..6c17f18a9c --- /dev/null +++ b/tests/auto/qml/qmlformat/data/nestedIf.formatted.qml @@ -0,0 +1,29 @@ +Item { + Component.onCompleted: { + // Make sure that nested if statements get properly braced + if (a) { + if (b) + foo(); + else + bar(); + } else if (x == 3) { + stuff(); + } else { + foo_bar(); + } + // Same for "for" + if (a) { + for (x in y) { + bar(); + y(); + } + } + // ...and while + if (b) { + while (y in x) { + foo(); + x(); + } + } + } +} diff --git a/tests/auto/qml/qmlformat/data/nestedIf.qml b/tests/auto/qml/qmlformat/data/nestedIf.qml new file mode 100644 index 0000000000..9388dd42f6 --- /dev/null +++ b/tests/auto/qml/qmlformat/data/nestedIf.qml @@ -0,0 +1,30 @@ +Item { +Component.onCompleted: { + // Make sure that nested if statements get properly braced + if (a) { + if (b) + foo(); + else + bar(); + } else if (x == 3) + stuff(); + else + foo_bar(); + + // Same for "for" + if (a) { + for (x in y) { + bar(); + y(); + } + } + + // ...and while + if (b) { + while (y in x) { + foo(); + x(); + } + } +} +}
\ No newline at end of file diff --git a/tests/auto/qml/qmlformat/tst_qmlformat.cpp b/tests/auto/qml/qmlformat/tst_qmlformat.cpp index ecb53b295f..a1bcada5b4 100644 --- a/tests/auto/qml/qmlformat/tst_qmlformat.cpp +++ b/tests/auto/qml/qmlformat/tst_qmlformat.cpp @@ -57,6 +57,8 @@ private Q_SLOTS: void testQtbug85003(); + void testNestedIf(); + #if !defined(QTEST_CROSS_COMPILED) // sources not available when cross compiled void testExample(); void testExample_data(); @@ -240,6 +242,12 @@ void TestQmlformat::testLargeBindings() readTestFile("largeBindings.formatted.qml")); } +void TestQmlformat::testNestedIf() +{ + QCOMPARE(runQmlformat(testFile("nestedIf.qml"), false, true), + readTestFile("nestedIf.formatted.qml")); +} + void TestQmlformat::testLineEndings() { // macos |