Added friendlist tests.
authorJussi Laitinen <jupe@l3l7588.ixonos.local>
Fri, 30 Apr 2010 09:20:29 +0000 (12:20 +0300)
committerJussi Laitinen <jupe@l3l7588.ixonos.local>
Fri, 30 Apr 2010 09:20:29 +0000 (12:20 +0300)
src/engine/engine.cpp
src/src.pro
src/ui/friendlistitem.cpp
src/ui/friendlistitem.h
src/ui/friendlistview.cpp
src/ui/listviewscreen.cpp
src/ui/mainwindow.cpp
tests/ui/friendlist/friendlist [new file with mode: 0755]
tests/ui/friendlist/friendlist.pro [new file with mode: 0644]
tests/ui/friendlist/testfriendlist.cpp [new file with mode: 0644]

index 58ab60b..d09683c 100644 (file)
@@ -4,6 +4,7 @@
 
         Kaj Wallin - kaj.wallin@ixonos.com
         Henri Lampela - henri.lampela@ixonos.com
+        Jussi Laitinen jussi.laitinen@ixonos.com
 
     Situare is free software; you can redistribute it and/or
     modify it under the terms of the GNU General Public License
@@ -99,6 +100,8 @@ void SituareEngine::requestUpdateLocation(const QString &status, const bool &pub
 {
     qDebug() << __PRETTY_FUNCTION__;
 
+    m_ui->toggleProgressIndicator(true);
+
     QPointF coordinates(65.0109, 25.5092); // this will be get from somewhere, map etc...
     m_situareService->updateLocation(coordinates, status, publish);
 }
@@ -112,7 +115,7 @@ void SituareEngine::refreshUserData()
     m_situareService->fetchLocations();
 }
 
-void SituareEngine::userDataReceived(User *user,QList<User*> &friends)
+void SituareEngine::userDataReceived(User *,QList<User*> &)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
@@ -123,5 +126,5 @@ void SituareEngine::updateWasSuccessful()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_situareService->fetchLocations();
+    refreshUserData();
 }
index e72cb3d..0d8012e 100644 (file)
@@ -67,6 +67,8 @@ HEADERS += ui/mainwindow.h \
 QT += network \
     webkit
 
+DEFINES += QT_NO_DEBUG_OUTPUT
+
 !maemo5 { 
     message(QJson built in)
     message(Make sure you have QJson development headers installed)
index fb834db..4efa61d 100644 (file)
 #include <QPaintEvent>
 #include <QLabel>
 #include <QPixmap>
-#include <QStateMachine>
-#include <QAbstractTransition>
-#include <QPropertyAnimation>
-#include <QSignalTransition>
-#include <QFontMetrics>
 #include <QFormLayout>
 #include <QSpacerItem>
 
 #include "friendlistitem.h"
-#include "user/user.h"
+#include "../user/user.h"
 
 FriendListItem::FriendListItem(QWidget *parent)
     : QWidget(parent)
index 860bd7e..404fa4f 100644 (file)
@@ -26,7 +26,7 @@
 #include <QTreeWidgetItem>
 #include <QListWidgetItem>
 
-#include "user/user.h"
+#include "../user/user.h"
 
 class QLabel;
 
index 42a0c9c..5338848 100644 (file)
@@ -39,6 +39,8 @@ FriendListView::FriendListView(QWidget *parent)
 
 void FriendListView::addWidget(QWidget *widget)
 {
+    qDebug() << __PRETTY_FUNCTION__;
+
     if (!widgets.contains(widget)) {
         m_friendListLayout->addWidget(widget);
         widgets.append(widget);
index a23ac98..193abbf 100644 (file)
@@ -4,6 +4,7 @@
 
       Kaj Wallin - kaj.wallin@ixonos.com
       Jukka Saastamoinen jukka.saastamoinen@ixonos.com
+      Jussi Laitinen jussi.laitinen@ixonos.com
 
    Situare is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
index 951b9c7..8d99e32 100644 (file)
@@ -4,6 +4,7 @@
 
       Henri Lampela - henri.lampela@ixonos.com
       Kaj Wallin - kaj.wallin@ixonos.com
+      Jussi Laitinen jussi.laitinen@ixonos.com
 
    Situare is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
diff --git a/tests/ui/friendlist/friendlist b/tests/ui/friendlist/friendlist
new file mode 100755 (executable)
index 0000000..b59abdb
Binary files /dev/null and b/tests/ui/friendlist/friendlist differ
diff --git a/tests/ui/friendlist/friendlist.pro b/tests/ui/friendlist/friendlist.pro
new file mode 100644 (file)
index 0000000..5e2204f
--- /dev/null
@@ -0,0 +1,8 @@
+CONFIG += qtestlib
+HEADERS += ../../../src/ui/friendlistview.h \
+    ../../../src/ui/friendlistitem.h \
+    ../../../src/user/user.h
+SOURCES += ../../../src/ui/friendlistview.cpp \
+    ../../../src/ui/friendlistitem.cpp \
+    ../../../src/user/user.cpp \
+    testfriendlist.cpp
diff --git a/tests/ui/friendlist/testfriendlist.cpp b/tests/ui/friendlist/testfriendlist.cpp
new file mode 100644 (file)
index 0000000..71a6246
--- /dev/null
@@ -0,0 +1,110 @@
+/*
+   Situare - A location system for Facebook
+   Copyright (C) 2010  Ixonos Plc. Authors:
+
+       Jussi Laitinen - jussi.laitinen@ixonos.com
+
+   Situare is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License
+   version 2 as published by the Free Software Foundation.
+
+   Situare is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Situare; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
+   USA.
+*/
+
+#include <QtTest>
+#include <QtGui>
+
+#include "../../../src/ui/friendlistitem.h"
+#include "../../../src/ui/friendlistview.h"
+#include "../../../src/user/user.h"
+
+
+class TestFriendList: public QObject
+{
+    Q_OBJECT
+private slots:
+    /**
+    * @brief Add widgets to the view.
+    */
+    void friendListViewAddWidget();
+
+
+    /**
+    * @brief Clear widgets from the view.
+    */
+    void friendListViewClear();
+};
+
+void TestFriendList::friendListViewAddWidget()
+{
+    FriendListView *view = new FriendListView();
+
+    User *user1 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+                           QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
+                           QString("UserID"), QString("Units"), 44.12);
+    User *user2 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+                           QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
+                           QString("UserID"), QString("Units"), 44.12);
+
+    FriendListItem *item1 = new FriendListItem(view);
+    item1->setData(*user1);
+    FriendListItem *item2 = new FriendListItem(view);
+    item2->setData(*user2);
+
+    view->addWidget(item1);
+    view->addWidget(item2);
+
+    QCOMPARE(view->layout()->count(), 2);
+
+    User *user3 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+                           QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
+                           QString("UserID"), QString("Units"), 44.12);
+
+    FriendListItem *item3 = new FriendListItem(view);
+    item3->setData(*user3);
+    view->addWidget(item3);
+
+    QCOMPARE(view->layout()->count(), 3);
+
+    view->addWidget(item3);
+
+    QCOMPARE(view->layout()->count(), 3);
+}
+
+void TestFriendList::friendListViewClear()
+{
+    FriendListView *view = new FriendListView();
+
+    User *user1 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+                           QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
+                           QString("UserID"), QString("Units"), 44.12);
+    User *user2 = new User(QString("Address"), QPointF(12.22, 23.33), QString("Name"),
+                           QString("Note"), QUrl("http://image.url"), QString("Timestamp"), true,
+                           QString("UserID"), QString("Units"), 44.12);
+
+    FriendListItem *item1 = new FriendListItem(view);
+    item1->setData(*user1);
+    FriendListItem *item2 = new FriendListItem(view);
+    item2->setData(*user2);
+
+    view->addWidget(item1);
+    view->addWidget(item2);
+
+    QCOMPARE(view->layout()->count(), 2);
+
+    view->clear();
+
+    QCOMPARE(view->layout()->count(), 0);
+}
+
+
+QTEST_MAIN(TestFriendList)
+#include "testfriendlist.moc"