Add tests for new-style connection syntax.
This commit is contained in:
@@ -36,7 +36,7 @@ class DummyAPI : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
public Q_SLOTS:
|
||||
|
||||
int invalidReturnValue() { return 0; }
|
||||
QVariantMap invalidArguments(int) { return QVariantMap(); }
|
||||
@@ -54,6 +54,7 @@ private Q_SLOTS:
|
||||
|
||||
void testOldConnection_data();
|
||||
void testOldConnection();
|
||||
void testNewConnection();
|
||||
};
|
||||
|
||||
void TestQObjectHandler::testOldConnection_data()
|
||||
@@ -156,5 +157,36 @@ void TestQObjectHandler::testOldConnection()
|
||||
}
|
||||
}
|
||||
|
||||
void TestQObjectHandler::testNewConnection()
|
||||
{
|
||||
QObjectHandler handler;
|
||||
DummyAPI api;
|
||||
|
||||
// Connect to object slot
|
||||
handler.registerMethod("0", &api, &DummyAPI::noParameters);
|
||||
handler.registerMethod("1", &api, &DummyAPI::oneParameter);
|
||||
handler.registerMethod("2", &api, &DummyAPI::twoParameters);
|
||||
|
||||
// Connect to functor
|
||||
handler.registerMethod("3", []() { return QVariantMap(); });
|
||||
handler.registerMethod("4", &api, []() { return QVariantMap(); });
|
||||
handler.registerMethod("5", &api, [](QHttpSocket*) { return QVariantMap(); });
|
||||
handler.registerMethod("6", &api, [](QHttpSocket*, QVariantMap d) { return d; });
|
||||
|
||||
for (int i = 0; i < 7; ++i) {
|
||||
QSocketPair pair;
|
||||
QTRY_VERIFY(pair.isConnected());
|
||||
|
||||
QSimpleHttpClient client(pair.client());
|
||||
QHttpSocket socket(pair.server(), &pair);
|
||||
|
||||
client.sendHeaders("GET", QByteArray::number(i));
|
||||
QTRY_VERIFY(socket.isHeadersParsed());
|
||||
|
||||
handler.route(&socket, socket.path());
|
||||
QTRY_COMPARE(client.statusCode(), static_cast<int>(QHttpSocket::OK));
|
||||
}
|
||||
}
|
||||
|
||||
QTEST_MAIN(TestQObjectHandler)
|
||||
#include "TestQObjectHandler.moc"
|
||||
|
||||
Reference in New Issue
Block a user