We now have a current svn snapshot of libqxt in our contrib dir, and
[quassel.git] / src / contrib / libqxt-2007-10-24 / tests / fifo / main.cpp
1 #include <QxtFifo>
2 #include <QTest>
3 #include <QSignalSpy>
4 #include <QDebug>
5 #include <QByteArray>
6 #include <QDataStream>
7 class QxtFifoPipeTest: public QObject
8         {
9         Q_OBJECT 
10         private slots:
11                 void initTestCase()
12                         {
13                         io= new QxtFifo;
14                         }
15
16                 void readwrite()
17                         { 
18                         QDataStream(io)<<"hello"<<34;
19                         char *  str;
20                         int i;
21                         QDataStream(io)>>str>>i;
22                         QVERIFY2(i==34,"output not matching input");
23                         QVERIFY2(str==QString("hello"),"output not mathing input");
24                         }
25
26                 void readyread()
27                         {
28                         QSignalSpy spyr(io, SIGNAL(readyRead()));
29                         io->write("hello");
30                         QVERIFY2 (spyr.count()> 0, "not emitting readyRead" );
31                         io->readAll();
32                         }
33
34
35                 void size()
36                         {
37                         QByteArray data("askdoamsdoiasmdpoeiowaopimwaioemfowefnwaoief");
38                         QVERIFY(io->write(data)==data.size());
39                         QVERIFY(io->bytesAvailable()==data.size());
40                         io->readAll();
41                         QVERIFY(io->bytesAvailable()==0);
42                         }
43
44
45                 void cleanupTestCase()
46                         {
47                         delete(io);
48                         }
49
50
51
52
53         private:
54                 QxtFifo * io;
55         };
56
57 QTEST_MAIN(QxtFifoPipeTest)
58 #include "main.moc"