diff --git a/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp b/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp index 99c64c7a6ff..664bd8f0776 100644 --- a/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp +++ b/src/plugins/qmldesigner/designercore/projectstorage/qmltypesparser.cpp @@ -331,6 +331,16 @@ Storage::EnumerationDeclarations createEnumeration(const QHash createEnumerationAliases(const QHash &qmlEnumerations) diff --git a/tests/unit/unittest/qmltypesparser-test.cpp b/tests/unit/unittest/qmltypesparser-test.cpp index 1595591b40a..521019429cb 100644 --- a/tests/unit/unittest/qmltypesparser-test.cpp +++ b/tests/unit/unittest/qmltypesparser-test.cpp @@ -632,4 +632,32 @@ TEST_F(QmlTypesParser, EnumerationIsReferencedByQualifiedName) Storage::PropertyDeclarationTraits::None))))); } +TEST_F(QmlTypesParser, AliasEnumerationIsReferencedByQualifiedName) +{ + QString source{R"(import QtQuick.tooling 1.2 + Module{ + Component { name: "QObject" + Property { name: "colorSpace"; type: "NamedColorSpaces" } + Enum { + name: "NamedColorSpace" + alias: "NamedColorSpaces" + values: [ + "Unknown", + "SRgb", + "AdobeRgb", + "DisplayP3", + ] + } + }})"}; + + parser.parse(source, imports, types, projectData); + + ASSERT_THAT(types, + Contains(Field(&Storage::Type::propertyDeclarations, + ElementsAre(IsPropertyDeclaration( + "colorSpace", + Storage::ImportedType{"QObject::NamedColorSpaces"}, + Storage::PropertyDeclarationTraits::None))))); +} + } // namespace