diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-06-02 21:01:24 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-06-02 21:01:24 +0200 |
commit | c107dbf2aa7c5c603a23f543fe68c9c77ec822df (patch) | |
tree | dbcfd75e6427f71f49095b8e5066de0712b9b027 /tests | |
parent | ba171e01f90e9399ca4bfab0204b2932380ad64f (diff) | |
parent | ff04810bd09d3897ccede880680dd94fcf585171 (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I75bde54fcc6c8380269a54a5a2ca0f42c34a519c
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/integration/tst_integration.cpp | 5 | ||||
-rw-r--r-- | tests/auto/integration_external/client/main.cpp | 4 | ||||
-rw-r--r-- | tests/auto/integration_multiprocess/client/main.cpp | 4 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/client/client.pro | 3 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/client/main.cpp | 31 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/namespace.h | 15 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/proxy_multiprocess.pro | 3 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/server/main.cpp | 7 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/server/mytestserver.cpp | 14 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/server/mytestserver.h | 2 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/server/server.pro | 1 | ||||
-rw-r--r-- | tests/auto/proxy_multiprocess/subclass.rep | 22 |
12 files changed, 93 insertions, 18 deletions
diff --git a/tests/auto/integration/tst_integration.cpp b/tests/auto/integration/tst_integration.cpp index af5cba0..7f39381 100644 --- a/tests/auto/integration/tst_integration.cpp +++ b/tests/auto/integration/tst_integration.cpp @@ -345,8 +345,9 @@ private slots: // set property on the replica (test property change packet) { QSignalSpy spy(tc_rep.data(), SIGNAL(classEnumChanged(TestClassReplica::ClassEnum))); + QVERIFY(spy.isValid()); tc_rep->pushClassEnum(TestClassReplica::Two); - QVERIFY(spy.wait()); + QVERIFY(spy.count() || spy.wait()); QCOMPARE((qint32)tc.classEnum(), (qint32)tc_rep->classEnum()); } @@ -405,7 +406,7 @@ private slots: QSignalSpy spy(tc_rep.data(), SIGNAL(classEnumChanged(TestClassReplica::ClassEnum))); bool res = property.write(tc_repDynamic.data(), TestClassReplica::Two); QVERIFY(!res); - int methodIndex = metaObject->indexOfMethod("pushClassEnum(ClassEnum)"); + int methodIndex = metaObject->indexOfMethod("pushClassEnum(TestClassReplica::ClassEnum)"); QVERIFY(methodIndex >= 0); QMetaMethod method = metaObject->method(methodIndex); QVERIFY(method.isValid()); diff --git a/tests/auto/integration_external/client/main.cpp b/tests/auto/integration_external/client/main.cpp index 05f7f59..bc53333 100644 --- a/tests/auto/integration_external/client/main.cpp +++ b/tests/auto/integration_external/client/main.cpp @@ -129,7 +129,7 @@ private Q_SLOTS: QCOMPARE(simm.parameterType(2), int(QMetaType::QString)); } - int slotIdx = mo->indexOfSlot("testEnumParamsInSlots(Enum1,bool,int)"); + int slotIdx = mo->indexOfSlot("testEnumParamsInSlots(MyInterfaceReplica::Enum1,bool,int)"); QVERIFY(slotIdx != -1); auto slmm = mo->method(slotIdx); { @@ -143,7 +143,7 @@ private Q_SLOTS: int enumVal = 0; mo->invokeMethod(rep.data(), "testEnumParamsInSlots", - QGenericArgument("Enum1", &enumVal), + QGenericArgument("MyInterfaceReplica::Enum1", &enumVal), Q_ARG(bool, true), Q_ARG(int, 1234)); int enumIdx = mo->indexOfProperty("enum1"); diff --git a/tests/auto/integration_multiprocess/client/main.cpp b/tests/auto/integration_multiprocess/client/main.cpp index b60a48a..87f2ad8 100644 --- a/tests/auto/integration_multiprocess/client/main.cpp +++ b/tests/auto/integration_multiprocess/client/main.cpp @@ -112,7 +112,7 @@ private Q_SLOTS: QCOMPARE(simm.parameterType(2), int(QMetaType::QString)); } - int slotIdx = mo->indexOfSlot("testEnumParamsInSlots(Enum1,bool,int)"); + int slotIdx = mo->indexOfSlot("testEnumParamsInSlots(MyInterfaceReplica::Enum1,bool,int)"); QVERIFY(slotIdx != -1); auto slmm = mo->method(slotIdx); { @@ -126,7 +126,7 @@ private Q_SLOTS: int enumVal = 0; mo->invokeMethod(rep.data(), "testEnumParamsInSlots", - QGenericArgument("Enum1", &enumVal), + QGenericArgument("MyInterfaceReplica::Enum1", &enumVal), Q_ARG(bool, true), Q_ARG(int, 1234)); int enumIdx = mo->indexOfProperty("enum1"); diff --git a/tests/auto/proxy_multiprocess/client/client.pro b/tests/auto/proxy_multiprocess/client/client.pro index d6c31db..7a181a2 100644 --- a/tests/auto/proxy_multiprocess/client/client.pro +++ b/tests/auto/proxy_multiprocess/client/client.pro @@ -12,6 +12,7 @@ REPC_REPLICA = ../subclass.rep SOURCES += main.cpp \ HEADERS += \ - ../shared.h + ../shared.h \ + ../namespace.h INCLUDEPATH += $$PWD diff --git a/tests/auto/proxy_multiprocess/client/main.cpp b/tests/auto/proxy_multiprocess/client/main.cpp index f37821f..19ba46f 100644 --- a/tests/auto/proxy_multiprocess/client/main.cpp +++ b/tests/auto/proxy_multiprocess/client/main.cpp @@ -60,28 +60,49 @@ private Q_SLOTS: QCOMPARE(m_rep->subClass()->i(), initialI); QVERIFY(m_rep->tracks() != nullptr); QVERIFY(tracksSpy.count() || tracksSpy.wait()); - QCOMPARE(m_rep->myEnum(), QVariant::fromValue(ParentClassReplica::bar)); + QCOMPARE(m_rep->myEnum(), ParentClassReplica::bar); + QCOMPARE(m_rep->date(), Qt::SystemLocaleShortDate); + QCOMPARE(m_rep->nsEnum(), NS::Bravo); + QCOMPARE(m_rep->ns2Enum(), NS2::NamespaceEnum::Bravo); QCOMPARE(m_rep->variant(), QVariant::fromValue(42.0f)); } else { QVERIFY(m_rep->subClass() == nullptr); QVERIFY(m_rep->tracks() == nullptr); - QCOMPARE(m_rep->myEnum(), QVariant::fromValue(ParentClassReplica::foo)); + QCOMPARE(m_rep->myEnum(), ParentClassReplica::foo); + QCOMPARE(m_rep->date(), Qt::ISODate); + QCOMPARE(m_rep->nsEnum(), NS::Alpha); + QCOMPARE(m_rep->ns2Enum(), NS2::NamespaceEnum::Alpha); QCOMPARE(m_rep->variant(), QVariant()); } + QPoint p(1, 2); + auto enumReply = m_rep->enumSlot(p, ParentClassReplica::bar); + QVERIFY(enumReply.waitForFinished()); + QCOMPARE(enumReply.error(), QRemoteObjectPendingCall::NoError); + QCOMPARE(enumReply.returnValue(), QVariant::fromValue(ParentClassReplica::foobar)); + qDebug() << "Verified expected initial states, sending start."; + QSignalSpy enumSpy(m_rep.data(), &ParentClassReplica::enum2); + QSignalSpy advanceSpy(m_rep.data(), SIGNAL(advance())); auto reply = m_rep->start(); QVERIFY(reply.waitForFinished()); QVERIFY(reply.error() == QRemoteObjectPendingCall::NoError); QCOMPARE(reply.returnValue(), QVariant::fromValue(true)); + QVERIFY(enumSpy.wait()); + QCOMPARE(enumSpy.count(), 1); + const auto arguments = enumSpy.takeFirst(); + QCOMPARE(arguments.at(0), QVariant::fromValue(ParentClassReplica::foo)); + QCOMPARE(arguments.at(1), QVariant::fromValue(ParentClassReplica::bar)); - QSignalSpy advanceSpy(m_rep.data(), SIGNAL(advance())); - QVERIFY(advanceSpy.wait()); + QVERIFY(advanceSpy.count() || advanceSpy.wait()); QVERIFY(m_rep->subClass() != nullptr); QCOMPARE(m_rep->subClass()->myPOD(), updatedValue); QCOMPARE(m_rep->subClass()->i(), updatedI); QVERIFY(m_rep->tracks() != nullptr); - QCOMPARE(m_rep->myEnum(), QVariant::fromValue(ParentClassReplica::foobar)); + QCOMPARE(m_rep->myEnum(), ParentClassReplica::foobar); + QCOMPARE(m_rep->date(), Qt::SystemLocaleLongDate); + QCOMPARE(m_rep->nsEnum(), NS::Charlie); + QCOMPARE(m_rep->ns2Enum(), NS2::NamespaceEnum::Charlie); QCOMPARE(m_rep->variant(), QVariant::fromValue(podValue)); qDebug() << "Verified expected final states, cleaning up."; } diff --git a/tests/auto/proxy_multiprocess/namespace.h b/tests/auto/proxy_multiprocess/namespace.h new file mode 100644 index 0000000..2d06e67 --- /dev/null +++ b/tests/auto/proxy_multiprocess/namespace.h @@ -0,0 +1,15 @@ +#include <QMetaType> + +namespace NS +{ + Q_NAMESPACE + enum NamespaceEnum { Alpha=1, Bravo, Charlie }; + Q_ENUM_NS(NamespaceEnum) +} + +namespace NS2 +{ + Q_NAMESPACE + enum class NamespaceEnum : quint8 { Alpha=1, Bravo, Charlie }; + Q_ENUM_NS(NamespaceEnum) +} diff --git a/tests/auto/proxy_multiprocess/proxy_multiprocess.pro b/tests/auto/proxy_multiprocess/proxy_multiprocess.pro index 075bc00..6bd7af7 100644 --- a/tests/auto/proxy_multiprocess/proxy_multiprocess.pro +++ b/tests/auto/proxy_multiprocess/proxy_multiprocess.pro @@ -1,2 +1,5 @@ TEMPLATE = subdirs SUBDIRS = client server proxy tst + +OTHER_FILES += shared.h \ + namespace.h diff --git a/tests/auto/proxy_multiprocess/server/main.cpp b/tests/auto/proxy_multiprocess/server/main.cpp index 2e6895b..1cd005d 100644 --- a/tests/auto/proxy_multiprocess/server/main.cpp +++ b/tests/auto/proxy_multiprocess/server/main.cpp @@ -56,6 +56,9 @@ private Q_SLOTS: parent.setSubClass(&subclass); parent.setTracks(&model); parent.setMyEnum(ParentClassSource::bar); + parent.setDate(Qt::SystemLocaleShortDate); + parent.setNsEnum(NS::Bravo); + parent.setNs2Enum(NS2::NamespaceEnum::Bravo); parent.setVariant(QVariant::fromValue(42.0f)); } @@ -82,7 +85,11 @@ private Q_SLOTS: if (objectMode == QLatin1Literal("NullPointer")) parent.setTracks(&model); parent.setMyEnum(ParentClassSource::foobar); + parent.setDate(Qt::SystemLocaleLongDate); + parent.setNsEnum(NS::Charlie); + parent.setNs2Enum(NS2::NamespaceEnum::Charlie); parent.setVariant(QVariant::fromValue(podValue)); + emit parent.enum2(ParentClassSource::foo, ParentClassSource::bar); emit parent.advance(); diff --git a/tests/auto/proxy_multiprocess/server/mytestserver.cpp b/tests/auto/proxy_multiprocess/server/mytestserver.cpp index b0c75ab..e55739d 100644 --- a/tests/auto/proxy_multiprocess/server/mytestserver.cpp +++ b/tests/auto/proxy_multiprocess/server/mytestserver.cpp @@ -29,7 +29,6 @@ #include <qdebug.h> #include "mytestserver.h" -#include "rep_subclass_source.h" MyTestServer::MyTestServer(QObject *parent) : ParentClassSimpleSource(parent) @@ -53,3 +52,16 @@ bool MyTestServer::quit() emit quitApp(); return true; } + +ParentClassSource::MyEnum MyTestServer::enumSlot(QPoint p, MyEnum myEnum) +{ + Q_UNUSED(p) + Q_UNUSED(myEnum) + return ParentClassSource::foobar; +} + +Qt::DateFormat MyTestServer::dateSlot(Qt::DateFormat date) +{ + Q_UNUSED(date) + return Qt::SystemLocaleDate; +} diff --git a/tests/auto/proxy_multiprocess/server/mytestserver.h b/tests/auto/proxy_multiprocess/server/mytestserver.h index df044c1..8a4d09b 100644 --- a/tests/auto/proxy_multiprocess/server/mytestserver.h +++ b/tests/auto/proxy_multiprocess/server/mytestserver.h @@ -47,6 +47,8 @@ public: public Q_SLOTS: bool start() override; bool quit() override; + MyEnum enumSlot(QPoint p, MyEnum myEnum) override; + Qt::DateFormat dateSlot(Qt::DateFormat date) override; Q_SIGNALS: void quitApp(); diff --git a/tests/auto/proxy_multiprocess/server/server.pro b/tests/auto/proxy_multiprocess/server/server.pro index 24c9a13..02ca498 100644 --- a/tests/auto/proxy_multiprocess/server/server.pro +++ b/tests/auto/proxy_multiprocess/server/server.pro @@ -14,6 +14,7 @@ SOURCES += main.cpp \ HEADERS += \ ../shared.h \ + ../namespace.h \ mytestserver.h \ $$OUT_PWD/rep_subclass_source.h diff --git a/tests/auto/proxy_multiprocess/subclass.rep b/tests/auto/proxy_multiprocess/subclass.rep index 7055944..2538b88 100644 --- a/tests/auto/proxy_multiprocess/subclass.rep +++ b/tests/auto/proxy_multiprocess/subclass.rep @@ -1,3 +1,10 @@ +#include <QPoint> +#include "../namespace.h" + +USE_ENUM(Qt::DateFormat) +USE_ENUM(NS::NamespaceEnum) +USE_ENUM(NS2::NamespaceEnum) + POD MyPOD(int i, float f, QString s) POD VariantPOD(int i, int j) @@ -9,17 +16,22 @@ class SubClass class ParentClass { - // We need several Enums to test dynamic registration - ENUM MyEnumProp {foo=1, bar=3, foobar=6} - ENUM MyEnumSignal {a=1, b, c} + ENUM MyEnum {foo=1, bar=3, foobar=6} PROP(bool started = false) - PROP(MyEnumProp myEnum=foo) + PROP(MyEnum myEnum=foo) PROP(QVariant variant) + PROP(Qt::DateFormat date = Qt::ISODate) + PROP(NS::NamespaceEnum nsEnum = NS::Alpha) + PROP(NS2::NamespaceEnum ns2Enum = NS2::NamespaceEnum::Alpha) SLOT(bool start()) SLOT(bool quit()) SIGNAL(advance()) - SIGNAL(enum2(MyEnumSignal myEnumSignal, MyEnumSignal sig2)) + SIGNAL(enum2(MyEnum myEnum1, MyEnum myEnum2)) + SLOT(MyEnum enumSlot(QPoint point, MyEnum myEnum)) + + SIGNAL(updateDate(Qt::DateFormat date1, Qt::DateFormat date2)) + SLOT(Qt::DateFormat dateSlot(Qt::DateFormat date)) CLASS subClass(SubClass) MODEL tracks(display) |