aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt1
-rw-r--r--tests/auto/qml/qmlcppcodegen/data/typePropertyClash.qml5
-rw-r--r--tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp12
3 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
index 7266ad0b5a..de4b1fc278 100644
--- a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
+++ b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
@@ -133,6 +133,7 @@ set(qml_files
text.qml
themerbad.qml
themergood.qml
+ typePropertyClash.qml
typedArray.qml
undefinedResets.qml
unknownAttached.qml
diff --git a/tests/auto/qml/qmlcppcodegen/data/typePropertyClash.qml b/tests/auto/qml/qmlcppcodegen/data/typePropertyClash.qml
new file mode 100644
index 0000000000..34dcb3b9c6
--- /dev/null
+++ b/tests/auto/qml/qmlcppcodegen/data/typePropertyClash.qml
@@ -0,0 +1,5 @@
+import QtQml
+
+QtObject {
+ objectName: 'Size: ' + size
+}
diff --git a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
index 8733bf6b96..9c1f83fa2f 100644
--- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
+++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
@@ -138,6 +138,7 @@ private slots:
void valueTypeLists();
void boundComponents();
void invisibleListElementType();
+ void typePropertyClash();
};
void tst_QmlCppCodegen::simpleBinding()
@@ -2201,6 +2202,17 @@ void tst_QmlCppCodegen::invisibleListElementType()
QCOMPARE(ref.size(), 0);
}
+void tst_QmlCppCodegen::typePropertyClash()
+{
+ QQmlEngine engine;
+ engine.rootContext()->setContextProperty(u"size"_s, 5);
+ QQmlComponent c(&engine, QUrl(u"qrc:/TestTypes/typePropertyClash.qml"_s));
+ QVERIFY2(c.isReady(), qPrintable(c.errorString()));
+ QScopedPointer<QObject> o(c.create());
+ QVERIFY(!o.isNull());
+ QCOMPARE(o->objectName(), u"Size: 5"_s);
+}
+
void tst_QmlCppCodegen::runInterpreted()
{
#ifdef Q_OS_ANDROID