diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2023-03-02 13:46:54 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2023-03-02 20:31:13 +0100 |
commit | 310428e292243770fb3bd3b48e9f136b56d68b42 (patch) | |
tree | e324f0fb640a311e30db1a18c3c55d9141129191 /tests/auto/qml/qmlformat | |
parent | 10a310c089e0d9731067abd6bb56771b51719043 (diff) |
qmlformat: Fix handling of object destructuring in functions
We weren't considering the bindingTarget of PatternElements, which broke
functions using object destructuring in the parameter list.
Fixes: QTBUG-111511
Pick-to: 6.5 6.5.0 6.2
Change-Id: Ie22fed2160538bf0c5733b5aced0fdac64621346
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto/qml/qmlformat')
3 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlformat/data/arrowFunctionWithBinding.formatted.qml b/tests/auto/qml/qmlformat/data/arrowFunctionWithBinding.formatted.qml new file mode 100644 index 0000000000..ac4cf97881 --- /dev/null +++ b/tests/auto/qml/qmlformat/data/arrowFunctionWithBinding.formatted.qml @@ -0,0 +1,10 @@ +import QtQuick + +Item { + Component.onCompleted: { + let f = ([]) => {}; + let g = ([a]) => {}; + let h = ([a, b]) => {}; + let i = ([a, ...b]) => {}; + } +} diff --git a/tests/auto/qml/qmlformat/data/arrowFunctionWithBinding.qml b/tests/auto/qml/qmlformat/data/arrowFunctionWithBinding.qml new file mode 100644 index 0000000000..2a47b2f152 --- /dev/null +++ b/tests/auto/qml/qmlformat/data/arrowFunctionWithBinding.qml @@ -0,0 +1,8 @@ +import QtQuick + +Item { Component.onCompleted: { let f = ([]) => {}; + let g = ([a]) => {}; + let h = ([a, b]) => {}; + let i = ([a, ...b]) => {}; + } +} diff --git a/tests/auto/qml/qmlformat/tst_qmlformat.cpp b/tests/auto/qml/qmlformat/tst_qmlformat.cpp index c14dd794fc..1785d9eb8d 100644 --- a/tests/auto/qml/qmlformat/tst_qmlformat.cpp +++ b/tests/auto/qml/qmlformat/tst_qmlformat.cpp @@ -304,6 +304,9 @@ void TestQmlformat::testFormat_data() QTest::newRow("ecmaScriptClassInQml") << "ecmaScriptClassInQml.qml" << "ecmaScriptClassInQml.formatted.qml" << QStringList{} << RunOption::OnCopy; + QTest::newRow("arrowFunctionWithBinding") + << "arrowFunctionWithBinding.qml" + << "arrowFunctionWithBinding.formatted.qml" << QStringList{} << RunOption::OnCopy; } void TestQmlformat::testFormat() |