aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/unittest/qmldocumentparser-test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/unittest/qmldocumentparser-test.cpp')
-rw-r--r--tests/unit/unittest/qmldocumentparser-test.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/unit/unittest/qmldocumentparser-test.cpp b/tests/unit/unittest/qmldocumentparser-test.cpp
index 5e7312a45f..68a7395e44 100644
--- a/tests/unit/unittest/qmldocumentparser-test.cpp
+++ b/tests/unit/unittest/qmldocumentparser-test.cpp
@@ -160,7 +160,7 @@ TEST_F(QmlDocumentParser, QualifiedPrototype)
TEST_F(QmlDocumentParser, Properties)
{
- auto type = parser.parse("Example{\n property int foo\n}", imports, qmlFileSourceId);
+ auto type = parser.parse(R"(Example{ property int foo })", imports, qmlFileSourceId);
ASSERT_THAT(type.propertyDeclarations,
UnorderedElementsAre(IsPropertyDeclaration("foo",
@@ -168,12 +168,32 @@ TEST_F(QmlDocumentParser, Properties)
Storage::PropertyDeclarationTraits::None)));
}
+TEST_F(QmlDocumentParser, QualifiedProperties)
+{
+ auto exampleModuleId = storage.moduleId("Example");
+
+ auto type = parser.parse(R"(import Example 2.1 as Example
+ Item{ property Example.Foo foo})",
+ imports,
+ qmlFileSourceId);
+
+ ASSERT_THAT(type.propertyDeclarations,
+ UnorderedElementsAre(IsPropertyDeclaration(
+ "foo",
+ Storage::QualifiedImportedType("Foo",
+ Storage::Import{exampleModuleId,
+ Storage::Version{2, 1},
+ qmlFileSourceId}),
+ Storage::PropertyDeclarationTraits::None)));
+}
+
TEST_F(QmlDocumentParser, Imports)
{
ModuleId fooDirectoryModuleId = storage.moduleId("/path/foo");
ModuleId qmlModuleId = storage.moduleId("QML");
ModuleId qtQmlModuleId = storage.moduleId("QtQml");
ModuleId qtQuickModuleId = storage.moduleId("QtQuick");
+
auto type = parser.parse(R"(import QtQuick
import "../foo"
Example{})",
@@ -246,6 +266,7 @@ TEST_F(QmlDocumentParser, DISABLED_DuplicateImportsAreRemoved)
ModuleId qmlModuleId = storage.moduleId("QML");
ModuleId qtQmlModuleId = storage.moduleId("QtQml");
ModuleId qtQuickModuleId = storage.moduleId("QtQuick");
+
auto type = parser.parse(R"(import QtQuick
import "../foo"
import QtQuick