summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-06-02 21:01:24 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-06-02 21:01:24 +0200
commitc107dbf2aa7c5c603a23f543fe68c9c77ec822df (patch)
treedbcfd75e6427f71f49095b8e5066de0712b9b027 /tests
parentba171e01f90e9399ca4bfab0204b2932380ad64f (diff)
parentff04810bd09d3897ccede880680dd94fcf585171 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/integration/tst_integration.cpp5
-rw-r--r--tests/auto/integration_external/client/main.cpp4
-rw-r--r--tests/auto/integration_multiprocess/client/main.cpp4
-rw-r--r--tests/auto/proxy_multiprocess/client/client.pro3
-rw-r--r--tests/auto/proxy_multiprocess/client/main.cpp31
-rw-r--r--tests/auto/proxy_multiprocess/namespace.h15
-rw-r--r--tests/auto/proxy_multiprocess/proxy_multiprocess.pro3
-rw-r--r--tests/auto/proxy_multiprocess/server/main.cpp7
-rw-r--r--tests/auto/proxy_multiprocess/server/mytestserver.cpp14
-rw-r--r--tests/auto/proxy_multiprocess/server/mytestserver.h2
-rw-r--r--tests/auto/proxy_multiprocess/server/server.pro1
-rw-r--r--tests/auto/proxy_multiprocess/subclass.rep22
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)