~ubuntu-branches/ubuntu/jaunty/psi/jaunty

« back to all changes in this revision

Viewing changes to src/unittest/psipopup/testpsipopup.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jan Niehusmann
  • Date: 2008-04-14 18:57:30 UTC
  • mfrom: (2.1.9 hardy)
  • Revision ID: james.westby@ubuntu.com-20080414185730-528re3zp0m2hdlhi
Tags: 0.11-8
* added CONFIG -= link_prl to .pro files and removed dependencies
  which are made unnecessary by this change
* Fix segfault when closing last chat tab with qt4.4
  (This is from upstream svn, rev. 1101) (Closes: Bug#476122)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <QtTest/QtTest>
 
2
#include <QApplication>
 
3
#include <QTimer>
 
4
#include <QtCrypto>
 
5
 
 
6
#include "common.h"
 
7
#include "psipopup.h"
 
8
#include "iconset.h"
 
9
#include "psicon.h" // for PsiCon
 
10
#include "psiaccount.h" // for PsiAccount
 
11
#include "profiles.h" // for UserAccount
 
12
#include "im.h" // for Jid
 
13
#include "userlist.h" // for UserListItem
 
14
#include "mainwin.h"
 
15
 
 
16
class TestPsiPopup: public QObject
 
17
{
 
18
        Q_OBJECT
 
19
private:
 
20
        PsiCon *psi;
 
21
        PsiAccount *account;
 
22
        bool timeout;
 
23
        QCA::Initializer *qca_init;
 
24
 
 
25
        void delay(int msecs)
 
26
        {
 
27
                timeout = false;
 
28
                QTimer::singleShot(msecs, this, SLOT(timedOut()));
 
29
                while (!timeout)
 
30
                        qApp->processEvents();
 
31
        }
 
32
 
 
33
protected slots:
 
34
        void timedOut()
 
35
        {
 
36
                timeout = true;
 
37
        }
 
38
 
 
39
private slots:
 
40
        void initTestCase()
 
41
        {
 
42
                // initialize the minimal amount of stuff necessary
 
43
                // to show PsiPopups on screen
 
44
//              is = new PsiIconset();
 
45
//              QVERIFY(is->loadAll());
 
46
                
 
47
                qca_init = new QCA::Initializer();
 
48
                QCA::keyStoreManager()->start();
 
49
                QCA::keyStoreManager()->waitForBusyFinished();
 
50
                
 
51
                psi = new PsiCon();
 
52
                psi->init();
 
53
                UserAccount userAccount;
 
54
                account = new PsiAccount(userAccount, psi);
 
55
        }
 
56
 
 
57
        void cleanupTestCase()
 
58
        {
 
59
                delete psi;
 
60
                QCA::unloadAllPlugins();
 
61
                delete qca_init;
 
62
        }
 
63
        
 
64
        void testPsiPopup()
 
65
        {
 
66
//              Q3MainWindow window;
 
67
//              window.show();
 
68
                delay(10000);
 
69
                
 
70
                option.ppHideTime = 10 * 1000; // 10 seconds
 
71
                option.ppBorderColor = Qt::blue;
 
72
                option.ppIsOn = true;
 
73
 
 
74
                PsiPopup *popup = new PsiPopup(PsiPopup::AlertChat, account);
 
75
                Jid jid("mblsha@jabber.ru");
 
76
                Resource resource("PowerBook");
 
77
                UserListItem userListItem;
 
78
                MessageEvent psiEvent(account);
 
79
                popup->setData(jid, resource, &userListItem, &psiEvent);
 
80
                
 
81
                delay(15000);
 
82
        }
 
83
};
 
84
 
 
85
QTEST_MAIN(TestPsiPopup)
 
86
#include "testpsipopup.moc"