summaryrefslogtreecommitdiffstats
path: root/src/libcommuni/tests/auto/shared/tst_ircclientserver.h
blob: ae72f294ce6d70c6ea30bb6c7a4395aeff1a7144 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 * Copyright (C) 2008-2014 The Communi Project
 *
 * This test is free, and not covered by the BSD license. There is no
 * restriction applied to their modification, redistribution, using and so on.
 * You can study them, modify them, use them in your own program - either
 * completely or partially.
 */

#ifndef TST_IRCCLIENTSERVER_H
#define TST_IRCCLIENTSERVER_H

#include <IrcConnection>

#include <QtTest/QtTest>
#include <QtCore/QPointer>
#include <QtNetwork/QTcpServer>
#include <QtNetwork/QTcpSocket>

#if QT_VERSION >= 0x050000
#define Q4SKIP(description) QSKIP(description)
#else
#define Q4SKIP(description) QSKIP(description, SkipAll)
#endif

class tst_IrcClientServer : public QObject
{
    Q_OBJECT

public:
    tst_IrcClientServer();

private slots:
    void initTestCase();
    void cleanupTestCase();

    void init();
    void cleanup();

protected:
    bool waitForOpened(int timeout = 200);
    bool waitForWritten(const QByteArray& data, int timeout = 1000);

    QPointer<QTcpServer> server;
    QPointer<QTcpSocket> serverSocket;
    QPointer<IrcConnection> connection;
    QPointer<QAbstractSocket> clientSocket;
};

#endif // TST_IRCCLIENTSERVER_H