diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2021-02-05 15:14:42 +0100 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2021-02-05 17:19:54 +0100 |
commit | 33f3d70c74564fb1e296537e14d1e0bddb4bb944 (patch) | |
tree | 3def672f5eb1fb2b004d59eed4ec37423f56c4ae /tests/auto | |
parent | 4938984f9a779192264757a06e6ca555fc8f5e91 (diff) |
qqmlproxymetaobject: Support invoking methods and slots
Previously this just failed silently and returned garbage data.
Change-Id: Ia8b72836aa0ccfd50fd18b0f813c2bf3a00801c5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qml/qqmllanguage/data/foreignExtended.qml | 3 | ||||
-rw-r--r-- | tests/auto/qml/qqmllanguage/testtypes.h | 3 | ||||
-rw-r--r-- | tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/data/foreignExtended.qml b/tests/auto/qml/qqmllanguage/data/foreignExtended.qml index 182d60fd02..4863e0d567 100644 --- a/tests/auto/qml/qqmllanguage/data/foreignExtended.qml +++ b/tests/auto/qml/qqmllanguage/data/foreignExtended.qml @@ -12,6 +12,9 @@ QtObject { property int extendedBase: extended.base + property int extendedInvokable: extended.invokable() + property int extendedSlot: extended.slot() + property int extendedExtension: extended.extension property int foreignExtendedExtension: foreignExtended.extension diff --git a/tests/auto/qml/qqmllanguage/testtypes.h b/tests/auto/qml/qqmllanguage/testtypes.h index 77f09a232c..74cd608471 100644 --- a/tests/auto/qml/qqmllanguage/testtypes.h +++ b/tests/auto/qml/qqmllanguage/testtypes.h @@ -1468,6 +1468,9 @@ class Extension : public QObject public: Extension(QObject *parent = nullptr) : QObject(parent) {} int extension() const { return 42; } + Q_INVOKABLE int invokable() { return 123; } +public slots: + int slot() { return 456; } }; class Extended : public QObject diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp index 5e40387ceb..ff76e4510e 100644 --- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp +++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp @@ -5497,6 +5497,8 @@ void tst_qqmllanguage::extendedForeignTypes() QCOMPARE(o->property("foreignExtendedExtension").toInt(), 42); QCOMPARE(o->property("foreignObjectName").toString(), QLatin1String("foreign")); QCOMPARE(o->property("foreignExtendedObjectName").toString(), QLatin1String("foreignExtended")); + QCOMPARE(o->property("extendedInvokable").toInt(), 123); + QCOMPARE(o->property("extendedSlot").toInt(), 456); } void tst_qqmllanguage::foreignTypeSingletons() { |