diff options
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen')
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; |