aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/unittest/qmltypesparser-test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/unittest/qmltypesparser-test.cpp')
-rw-r--r--tests/unit/unittest/qmltypesparser-test.cpp83
1 files changed, 81 insertions, 2 deletions
diff --git a/tests/unit/unittest/qmltypesparser-test.cpp b/tests/unit/unittest/qmltypesparser-test.cpp
index cfb608e5ce..1595591b40 100644
--- a/tests/unit/unittest/qmltypesparser-test.cpp
+++ b/tests/unit/unittest/qmltypesparser-test.cpp
@@ -481,8 +481,6 @@ TEST_F(QmlTypesParser, Enumerations)
TEST_F(QmlTypesParser, EnumerationIsExportedAsType)
{
- ModuleId qmlModuleId = storage.moduleId("QML");
- ModuleId qtQmlModuleId = storage.moduleId("QtQml");
QString source{R"(import QtQuick.tooling 1.2
Module{
Component { name: "QObject"
@@ -526,6 +524,87 @@ TEST_F(QmlTypesParser, EnumerationIsExportedAsType)
_));
}
+TEST_F(QmlTypesParser, EnumerationIsExportedAsTypeWithAlias)
+{
+ QString source{R"(import QtQuick.tooling 1.2
+ Module{
+ Component { name: "QObject"
+ Enum {
+ name: "NamedColorSpaces"
+ alias: "NamedColorSpace"
+ values: [
+ "Unknown",
+ "SRgb",
+ "AdobeRgb",
+ "DisplayP3",
+ ]
+ }
+ exports: ["QML/QtObject 1.0", "QtQml/QtObject 2.1"]
+ }})"};
+
+ parser.parse(source, imports, types, projectData);
+
+ ASSERT_THAT(types,
+ UnorderedElementsAre(
+ AllOf(IsType("QObject::NamedColorSpaces",
+ Storage::ImportedType{},
+ Storage::TypeAccessSemantics::Value | Storage::TypeAccessSemantics::IsEnum,
+ qmltypesFileSourceId),
+ Field(&Storage::Type::exportedTypes,
+ UnorderedElementsAre(IsExportedType(qtQmlNativeModuleId,
+ "QObject::NamedColorSpace",
+ Storage::Version{}),
+ IsExportedType(qtQmlNativeModuleId,
+ "QObject::NamedColorSpaces",
+ Storage::Version{})))),
+ _));
+}
+
+TEST_F(QmlTypesParser, EnumerationIsExportedAsTypeWithAliasToo)
+{
+ QString source{R"(import QtQuick.tooling 1.2
+ Module{
+ Component { name: "QObject"
+ Enum {
+ name: "NamedColorSpaces"
+ alias: "NamedColorSpace"
+ values: [
+ "Unknown",
+ "SRgb",
+ "AdobeRgb",
+ "DisplayP3",
+ ]
+ }
+ Enum {
+ name: "NamedColorSpace"
+ values: [
+ "Unknown",
+ "SRgb",
+ "AdobeRgb",
+ "DisplayP3",
+ ]
+ }
+ exports: ["QML/QtObject 1.0", "QtQml/QtObject 2.1"]
+ }})"};
+
+ parser.parse(source, imports, types, projectData);
+
+ ASSERT_THAT(types,
+ UnorderedElementsAre(
+ AllOf(IsType("QObject::NamedColorSpaces",
+ Storage::ImportedType{},
+ Storage::TypeAccessSemantics::Value | Storage::TypeAccessSemantics::IsEnum,
+ qmltypesFileSourceId),
+ Field(&Storage::Type::exportedTypes,
+ UnorderedElementsAre(IsExportedType(qtQmlNativeModuleId,
+ "QObject::NamedColorSpace",
+ Storage::Version{}),
+ IsExportedType(qtQmlNativeModuleId,
+ "QObject::NamedColorSpaces",
+ Storage::Version{})))),
+ _));
+}
+
TEST_F(QmlTypesParser, EnumerationIsReferencedByQualifiedName)
{
QString source{R"(import QtQuick.tooling 1.2