diff options
Diffstat (limited to 'tests/auto/qml/qmltc_qprocess')
-rw-r--r-- | tests/auto/qml/qmltc_qprocess/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/auto/qml/qmltc_qprocess/data/invalidTypeAnnotation.qml | 20 | ||||
-rw-r--r-- | tests/auto/qml/qmltc_qprocess/tst_qmltc_qprocess.cpp | 14 |
3 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/qml/qmltc_qprocess/CMakeLists.txt b/tests/auto/qml/qmltc_qprocess/CMakeLists.txt index 311ad71fde..387063fb28 100644 --- a/tests/auto/qml/qmltc_qprocess/CMakeLists.txt +++ b/tests/auto/qml/qmltc_qprocess/CMakeLists.txt @@ -35,6 +35,7 @@ qt6_add_qml_module(tst_qmltc_qprocess data/uncreatable.qml data/invalidSignalHandlers.qml data/QmlBaseFromAnotherModule.qml + data/invalidTypeAnnotation.qml ) set(common_libraries diff --git a/tests/auto/qml/qmltc_qprocess/data/invalidTypeAnnotation.qml b/tests/auto/qml/qmltc_qprocess/data/invalidTypeAnnotation.qml new file mode 100644 index 0000000000..fb8c8eb198 --- /dev/null +++ b/tests/auto/qml/qmltc_qprocess/data/invalidTypeAnnotation.qml @@ -0,0 +1,20 @@ +import QtQuick + + +Item { + function f(): Qt.point { + + } + + function g() { + + } + + function h(a: int, b: Item) { + + } + + function alpha(a: int, b) {} + function beta(a: int, b): Item {} + function gamma(a: Qt.point, b) {} +} diff --git a/tests/auto/qml/qmltc_qprocess/tst_qmltc_qprocess.cpp b/tests/auto/qml/qmltc_qprocess/tst_qmltc_qprocess.cpp index 9331fca89c..247a5e81ce 100644 --- a/tests/auto/qml/qmltc_qprocess/tst_qmltc_qprocess.cpp +++ b/tests/auto/qml/qmltc_qprocess/tst_qmltc_qprocess.cpp @@ -53,6 +53,7 @@ private slots: void invalidSignalHandlers(); void exports(); void qmlBaseFromAnotherModule(); + void invalidTypeAnnotation(); }; #ifndef TST_QMLTC_QPROCESS_RESOURCES @@ -280,6 +281,19 @@ void tst_qmltc_qprocess::qmlBaseFromAnotherModule() } } +void tst_qmltc_qprocess::invalidTypeAnnotation() +{ + { + const auto errors = runQmltc(u"invalidTypeAnnotation.qml"_s, false); + QVERIFY(errors.contains( + u"invalidTypeAnnotation.qml:5:17: \"Qt.point\" was not found for the return type of method \"f\"."_s)); + QVERIFY(errors.contains( + u"invalidTypeAnnotation.qml:19:21: \"Qt.point\" was not found for the type of parameter \"a\" in method \"gamma\"."_s)); + QVERIFY(!errors.contains(u"\"var\""_s)); + QVERIFY(!errors.contains(u"\"void\""_s)); + } +} + static QString fileToString(const QString &path) { QFile f(path); |