Ok, the long awaited config wizard is here (at least in a very basic state). There...
[quassel.git] / src / contrib / libqxt-2007-10-24 / tests / pipe / main.cpp
1 #include <QxtPipe>
2 #include <QTest>
3 #include <QDebug>
4 #include <QByteArray>
5 #include <QDataStream>
6
7 class QxtPipeTest: public QObject
8 {
9 Q_OBJECT 
10 private slots:
11     void simple()
12     {
13         QxtPipe p1;
14         QxtPipe p2;
15         p1|p2;
16         p1.write("hi");
17         QVERIFY(p2.readAll()=="hi");
18     }
19     void chain()
20     {
21         QxtPipe p1;
22         QxtPipe p2;
23         QxtPipe p3;
24         p1|p2;
25         p2|p3;
26         p1.write("hi");
27         QVERIFY(p3.readAll()=="hi");
28     }
29     void bidirectional()
30     {
31         QxtPipe p1;
32         QxtPipe p2;
33         p1|p2;
34
35         p1.write("hi");
36         QVERIFY(p2.readAll()=="hi");
37         QVERIFY(p1.bytesAvailable()==0);
38
39         p2.write("rehi");
40         QVERIFY(p1.readAll()=="rehi");
41         QVERIFY(p2.bytesAvailable()==0);
42     }
43     void readOnly()
44     {
45         QxtPipe p1;
46         QxtPipe p2;
47         p1.connect(&p2,QIODevice::ReadOnly);
48
49         p1.write("hi");
50         QVERIFY(p1.bytesAvailable()==0);
51         QVERIFY(p2.bytesAvailable()==0);
52
53         p2.write("rehi");
54         QVERIFY(p1.readAll()=="rehi");
55         QVERIFY(p2.bytesAvailable()==0);
56     }
57     void writeOnly()
58     {
59         QxtPipe p1;
60         QxtPipe p2;
61         p1.connect(&p2,QIODevice::WriteOnly);
62
63         p1.write("hi");
64         QVERIFY(p1.bytesAvailable()==0);
65         QVERIFY(p2.readAll()=="hi");
66
67         p2.write("rehi");
68         QVERIFY(p1.bytesAvailable()==0);
69         QVERIFY(p2.bytesAvailable()==0);
70     }
71 };
72
73 QTEST_MAIN(QxtPipeTest)
74 #include "main.moc"