From 45cf905b295b311c614e8c62e0f9a42f97c98fe5 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Tue, 25 Apr 2023 11:30:58 +0200 Subject: [PATCH] QmlDesigner: Fix version scanning Switch was missing. Change-Id: I5d87e624f698b9f59fe57cf49cafef4e6d08eca2 Reviewed-by: Marco Bubke Reviewed-by: Aleksei German --- .../designercore/projectstorage/modulescanner.cpp | 7 +++++-- tests/unit/unittest/modulescanner-test.cpp | 13 +++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/projectstorage/modulescanner.cpp b/src/plugins/qmldesigner/designercore/projectstorage/modulescanner.cpp index 2210f0732b3..56822dce06d 100644 --- a/src/plugins/qmldesigner/designercore/projectstorage/modulescanner.cpp +++ b/src/plugins/qmldesigner/designercore/projectstorage/modulescanner.cpp @@ -70,8 +70,11 @@ void ModuleScanner::scan([[maybe_unused]] std::string_view modulePath) if (moduleName.isEmpty() || m_skip(moduleName)) continue; - m_modules.push_back( - Import::createLibraryImport(moduleName, createVersion(parser.components()))); + QString version = m_versionScanning == VersionScanning::Yes + ? createVersion(parser.components()) + : QString{}; + + m_modules.push_back(Import::createLibraryImport(moduleName, version)); } } diff --git a/tests/unit/unittest/modulescanner-test.cpp b/tests/unit/unittest/modulescanner-test.cpp index 92d7959916a..062256408e8 100644 --- a/tests/unit/unittest/modulescanner-test.cpp +++ b/tests/unit/unittest/modulescanner-test.cpp @@ -79,6 +79,19 @@ TEST_F(ModuleScanner, Version) ASSERT_THAT(scanner.modules(), ElementsAre(AllOf(UrlProperty("Example"), VersionProperty("1.3")))); } +TEST_F(ModuleScanner, NoVersion) +{ + QmlDesigner::ModuleScanner scanner{[](QStringView moduleName) { + return moduleName.endsWith(u"impl"); + }, + QmlDesigner::VersionScanning::No}; + + scanner.scan(QStringList{TESTDATA_DIR "/modulescanner"}); + + ASSERT_THAT(scanner.modules(), + ElementsAre(AllOf(UrlProperty("Example"), VersionProperty(QString{})))); +} + TEST_F(ModuleScanner, Duplicates) { scanner.scan(QStringList{QT6_INSTALL_PREFIX});