diff --git a/src/plugins/qmldesigner/designercore/projectstorage/qmldocumentparser.cpp b/src/plugins/qmldesigner/designercore/projectstorage/qmldocumentparser.cpp index daa9062a571..27efa8d530d 100644 --- a/src/plugins/qmldesigner/designercore/projectstorage/qmldocumentparser.cpp +++ b/src/plugins/qmldesigner/designercore/projectstorage/qmldocumentparser.cpp @@ -353,7 +353,7 @@ Storage::Synchronization::Type QmlDocumentParser::parse(const QString &sourceCon m_storage); type.prototype = createImportedTypeName(qmlObject.name(), qualifiedImports); - + type.defaultPropertyName = qmlObject.localDefaultPropertyName(); addImports(imports, qmlFile->imports(), sourceId, directoryPath, m_storage); addPropertyDeclarations(type, qmlObject, qualifiedImports, file); diff --git a/tests/unit/tests/unittests/projectstorage/qmldocumentparser-test.cpp b/tests/unit/tests/unittests/projectstorage/qmldocumentparser-test.cpp index f39dec121c6..affa645330e 100644 --- a/tests/unit/tests/unittests/projectstorage/qmldocumentparser-test.cpp +++ b/tests/unit/tests/unittests/projectstorage/qmldocumentparser-test.cpp @@ -516,4 +516,16 @@ TEST_F(QmlDocumentParser, qualified_list_property) Storage::PropertyDeclarationTraits::IsList))); } +TEST_F(QmlDocumentParser, default_property) +{ + auto type = parser.parse(R"(import Example 2.1 as Example + Item{ + default property list foos + })", + imports, + qmlFileSourceId, + directoryPath); + + ASSERT_THAT(type.defaultPropertyName, Eq("foos")); +} } // namespace