aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qmlcppcodegen
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen')
-rw-r--r--tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt1
-rw-r--r--tests/auto/qml/qmlcppcodegen/data/DeduplicateConversionOrigins.qml9
-rw-r--r--tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp10
3 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
index f09a3af62f..bd00605eb2 100644
--- a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
+++ b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
@@ -56,6 +56,7 @@ set(qml_files
Cycle2.qml
Cycle3.qml
CppMethodListReturnType.qml
+ DeduplicateConversionOrigins.qml
Dummy.qml
Dummy2.qml
EditConstraint.qml
diff --git a/tests/auto/qml/qmlcppcodegen/data/DeduplicateConversionOrigins.qml b/tests/auto/qml/qmlcppcodegen/data/DeduplicateConversionOrigins.qml
new file mode 100644
index 0000000000..ba1ddb156b
--- /dev/null
+++ b/tests/auto/qml/qmlcppcodegen/data/DeduplicateConversionOrigins.qml
@@ -0,0 +1,9 @@
+import QtQml
+
+QtObject {
+ function yep() {
+ try { }
+ catch (e) { replace(/()/, ""); }
+ for (let i = 0; i < 1; ++i) { }
+ }
+}
diff --git a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
index 81c68057ee..6f2a8f4b51 100644
--- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
+++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
@@ -93,6 +93,7 @@ private slots:
void dateConstruction();
void dateConversions();
void deadShoeSize();
+ void deduplicateConversionOrigins();
void destroyAndToString();
void detachOnAssignment();
void dialogButtonBox();
@@ -1618,6 +1619,15 @@ void tst_QmlCppCodegen::deadShoeSize()
QCOMPARE(o->property("shoeSize").toInt(), 0);
}
+void tst_QmlCppCodegen::deduplicateConversionOrigins()
+{
+ QQmlEngine engine;
+ QQmlComponent c(&engine, QUrl(u"qrc:/qt/qml/TestTypes/DeduplicateConversionOrigins.qml"_s));
+ QVERIFY2(c.isReady(), qPrintable(c.errorString()));
+ QScopedPointer<QObject> o(c.create());
+ QVERIFY(o);
+}
+
void tst_QmlCppCodegen::destroyAndToString()
{
QQmlEngine engine;