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});