[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepim] kaddressbook/merge: Add new unittest
From: Montel Laurent <montel () kde ! org>
Date: 2014-04-30 20:43:05
Message-ID: E1WfbLN-0001z9-FG () scm ! kde ! org
[Download RAW message or body]
Git commit 428631f06408c5e03f6697e101cc60a477903de2 by Montel Laurent.
Committed on 30/04/2014 at 20:42.
Pushed by mlaurent into branch 'master'.
Add new unittest
M +41 -2 kaddressbook/merge/mergecontactduplicatecontactdialog.cpp
M +11 -2 kaddressbook/merge/mergecontactduplicatecontactdialog.h
M +4 -1 kaddressbook/merge/searchpotentialduplicatecontactjob.h
M +2 -0 kaddressbook/merge/tests/CMakeLists.txt
A +53 -0 kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.cpp \
[License: GPL (v2)] C +10 -17 \
kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.h [from: \
kaddressbook/merge/mergecontactduplicatecontactdialog.h - 056% similarity] C +4 \
-20 kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.cpp [from: \
kaddressbook/merge/mergecontactduplicatecontactdialog.h - 055% similarity] C +6 \
-18 kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.h [from: \
kaddressbook/merge/mergecontactduplicatecontactdialog.h - 056% similarity]
http://commits.kde.org/kdepim/428631f06408c5e03f6697e101cc60a477903de2
diff --git a/kaddressbook/merge/mergecontactduplicatecontactdialog.cpp \
b/kaddressbook/merge/mergecontactduplicatecontactdialog.cpp index 7ff0e7e..a0f1589 \
100644
--- a/kaddressbook/merge/mergecontactduplicatecontactdialog.cpp
+++ b/kaddressbook/merge/mergecontactduplicatecontactdialog.cpp
@@ -20,21 +20,47 @@
#include "mergecontactshowresulttabwidget.h"
+#include "searchpotentialduplicatecontactjob.h"
+
#include <KLocalizedString>
#include <KSharedConfig>
#include <KConfigGroup>
#include <KGlobal>
+#include <QStackedWidget>
+#include <QLabel>
+
using namespace KABMergeContacts;
-MergeContactDuplicateContactDialog::MergeContactDuplicateContactDialog(QWidget \
*parent) +MergeContactDuplicateContactDialog::MergeContactDuplicateContactDialog(const \
Akonadi::Item::List &list, QWidget *parent) : KDialog(parent)
{
setCaption( i18n( "Select Contacts to merge" ) );
setButtons( Close );
+ mStackedWidget = new QStackedWidget(this);
+ mStackedWidget->setObjectName(QLatin1String("stackedwidget"));
+
mMergeContact = new MergeContactShowResultTabWidget;
- setMainWidget(mMergeContact);
+ mMergeContact->setObjectName(QLatin1String("mergecontact"));
+ mStackedWidget->addWidget(mMergeContact);
+
+ mNoContactSelected = new QLabel(i18n("No contacts selected."));
+ mNoContactSelected->setObjectName(QLatin1String("nocontactselected"));
+ mStackedWidget->addWidget(mNoContactSelected);
+
+ mNoDuplicateContactFound = new QLabel(i18n("No contact duplicated found."));
+ mNoDuplicateContactFound->setObjectName(QLatin1String("noduplicatecontactfound"));
+ mStackedWidget->addWidget(mNoDuplicateContactFound);
+
+
+ mNoEnoughContactSelected = new QLabel(i18n("You must select at least two \
elements.")); + mNoEnoughContactSelected->setObjectName(QLatin1String("noenoughcontactselected"));
+ mStackedWidget->addWidget(mNoEnoughContactSelected);
+
+
+ setMainWidget(mStackedWidget);
readConfig();
+ searchPotentialDuplicateContacts(list);
}
MergeContactDuplicateContactDialog::~MergeContactDuplicateContactDialog()
@@ -42,6 +68,19 @@ MergeContactDuplicateContactDialog::~MergeContactDuplicateContactDialog()
}
+void MergeContactDuplicateContactDialog::searchPotentialDuplicateContacts(const \
Akonadi::Item::List &list) +{
+ if (list.isEmpty()) {
+ mStackedWidget->setCurrentWidget(mNoContactSelected);
+ } else if (list.count() < 2){
+ mStackedWidget->setCurrentWidget(mNoEnoughContactSelected);
+ } else {
+ //TODO
+ //SearchPotentialDuplicateContactJob *job = new \
SearchPotentialDuplicateContactJob(list, this); + //job->start();
+ }
+}
+
void MergeContactDuplicateContactDialog::readConfig()
{
KConfigGroup grp( KGlobal::config(), "MergeContactDuplicateContactDialog" );
diff --git a/kaddressbook/merge/mergecontactduplicatecontactdialog.h \
b/kaddressbook/merge/mergecontactduplicatecontactdialog.h index 7ebc3ba..842d607 \
100644
--- a/kaddressbook/merge/mergecontactduplicatecontactdialog.h
+++ b/kaddressbook/merge/mergecontactduplicatecontactdialog.h
@@ -19,23 +19,32 @@
#define MERGECONTACTDUPLICATECONTACTDIALOG_H
#include <KDialog>
+#include <Akonadi/Item>
+#include "kaddressbook_export.h"
+class QStackedWidget;
+class QLabel;
namespace KABMergeContacts {
class MergeContactShowResultTabWidget;
-class MergeContactDuplicateContactDialog : public KDialog
+class KADDRESSBOOK_EXPORT MergeContactDuplicateContactDialog : public KDialog
{
Q_OBJECT
public:
- explicit MergeContactDuplicateContactDialog(QWidget *parent=0);
+ explicit MergeContactDuplicateContactDialog(const Akonadi::Item::List &list, \
QWidget *parent=0); ~MergeContactDuplicateContactDialog();
private slots:
void slotAddDuplicateContact();
private:
+ void searchPotentialDuplicateContacts(const Akonadi::Item::List &list);
void readConfig();
void writeConfig();
MergeContactShowResultTabWidget *mMergeContact;
+ QLabel *mNoContactSelected;
+ QLabel *mNoDuplicateContactFound;
+ QLabel *mNoEnoughContactSelected;
+ QStackedWidget *mStackedWidget;
};
}
diff --git a/kaddressbook/merge/searchpotentialduplicatecontactjob.h \
b/kaddressbook/merge/searchpotentialduplicatecontactjob.h index 6926e77..c785eff \
100644
--- a/kaddressbook/merge/searchpotentialduplicatecontactjob.h
+++ b/kaddressbook/merge/searchpotentialduplicatecontactjob.h
@@ -21,8 +21,11 @@
#include <QObject>
#include <Akonadi/Item>
+
+#include "kaddressbook_export.h"
+
namespace KABMergeContacts {
-class SearchPotentialDuplicateContactJob : public QObject
+class KADDRESSBOOK_EXPORT SearchPotentialDuplicateContactJob : public QObject
{
Q_OBJECT
public:
diff --git a/kaddressbook/merge/tests/CMakeLists.txt \
b/kaddressbook/merge/tests/CMakeLists.txt index 73f8c6b..1bb4050 100644
--- a/kaddressbook/merge/tests/CMakeLists.txt
+++ b/kaddressbook/merge/tests/CMakeLists.txt
@@ -21,3 +21,5 @@ set(KDEPIMLIBS_RUN_SQLITE_ISOLATED_TESTS TRUE)
add_akonadi_isolated_test_advanced( mergecontactinfowidgettest.cpp "" \
"kaddressbookprivate") add_akonadi_isolated_test_advanced( \
mergecontactshowresultdialogtest.cpp "" "kaddressbookprivate") \
add_akonadi_isolated_test_advanced( mergecontactselectinformationdialogtest.cpp "" \
"kaddressbookprivate") +add_akonadi_isolated_test_advanced( \
mergecontactduplicatecontactdialogtest.cpp "" "kaddressbookprivate") \
+add_akonadi_isolated_test_advanced( searchpotentialduplicatecontactjobtest.cpp "" \
"kaddressbookprivate")
diff --git a/kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.cpp \
b/kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.cpp new file mode \
100644 index 0000000..21e495c
--- /dev/null
+++ b/kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.cpp
@@ -0,0 +1,53 @@
+/*
+ Copyright (c) 2014 Montel Laurent <montel@kde.org>
+
+ This program 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.
+
+ This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#include "mergecontactduplicatecontactdialogtest.h"
+
+#include "../mergecontactduplicatecontactdialog.h"
+
+#include <qtest_kde.h>
+
+#include <QStackedWidget>
+using namespace KABMergeContacts;
+
+MergeContactDuplicateContactDialogTest::MergeContactDuplicateContactDialogTest()
+{
+}
+
+void MergeContactDuplicateContactDialogTest::shouldHaveDefaultValueOnCreation()
+{
+ Akonadi::Item::List lst;
+ MergeContactDuplicateContactDialog dlg(lst);
+ dlg.show();
+ QStackedWidget *stackedWidget = qFindChild<QStackedWidget *>(&dlg, \
QLatin1String("stackedwidget")); + QVERIFY(stackedWidget);
+ QCOMPARE(stackedWidget->currentWidget()->objectName(), \
QLatin1String("nocontactselected")); +}
+
+void MergeContactDuplicateContactDialogTest::shouldShowNoEnoughPageWhenSelectOneContact()
+{
+ Akonadi::Item::List lst;
+ lst << Akonadi::Item(42);
+ MergeContactDuplicateContactDialog dlg(lst);
+ dlg.show();
+ QStackedWidget *stackedWidget = qFindChild<QStackedWidget *>(&dlg, \
QLatin1String("stackedwidget")); + QVERIFY(stackedWidget);
+ QCOMPARE(stackedWidget->currentWidget()->objectName(), \
QLatin1String("noenoughcontactselected")); +}
+
+
+QTEST_KDEMAIN(MergeContactDuplicateContactDialogTest, GUI)
diff --git a/kaddressbook/merge/mergecontactduplicatecontactdialog.h \
b/kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.h similarity index \
56% copy from kaddressbook/merge/mergecontactduplicatecontactdialog.h
copy to kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.h
index 7ebc3ba..31de7c8 100644
--- a/kaddressbook/merge/mergecontactduplicatecontactdialog.h
+++ b/kaddressbook/merge/tests/mergecontactduplicatecontactdialogtest.h
@@ -15,28 +15,21 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef MERGECONTACTDUPLICATECONTACTDIALOG_H
-#define MERGECONTACTDUPLICATECONTACTDIALOG_H
-#include <KDialog>
+#ifndef MERGECONTACTDUPLICATECONTACTDIALOGTEST_H
+#define MERGECONTACTDUPLICATECONTACTDIALOGTEST_H
-namespace KABMergeContacts {
-class MergeContactShowResultTabWidget;
-class MergeContactDuplicateContactDialog : public KDialog
+#include <QObject>
+
+class MergeContactDuplicateContactDialogTest : public QObject
{
Q_OBJECT
public:
- explicit MergeContactDuplicateContactDialog(QWidget *parent=0);
- ~MergeContactDuplicateContactDialog();
-
-private slots:
- void slotAddDuplicateContact();
+ MergeContactDuplicateContactDialogTest();
-private:
- void readConfig();
- void writeConfig();
- MergeContactShowResultTabWidget *mMergeContact;
+private Q_SLOTS:
+ void shouldHaveDefaultValueOnCreation();
+ void shouldShowNoEnoughPageWhenSelectOneContact();
};
-}
-#endif // MERGECONTACTDUPLICATECONTACTDIALOG_H
+#endif // MERGECONTACTDUPLICATECONTACTDIALOGTEST_H
diff --git a/kaddressbook/merge/mergecontactduplicatecontactdialog.h \
b/kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.cpp similarity \
index 55% copy from kaddressbook/merge/mergecontactduplicatecontactdialog.h
copy to kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.cpp
index 7ebc3ba..2a6c99a 100644
--- a/kaddressbook/merge/mergecontactduplicatecontactdialog.h
+++ b/kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.cpp
@@ -15,28 +15,12 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef MERGECONTACTDUPLICATECONTACTDIALOG_H
-#define MERGECONTACTDUPLICATECONTACTDIALOG_H
+#include "searchpotentialduplicatecontactjobtest.h"
-#include <KDialog>
+#include <qtest_kde.h>
-namespace KABMergeContacts {
-class MergeContactShowResultTabWidget;
-class MergeContactDuplicateContactDialog : public KDialog
+SearchPotentialDuplicateContactJobTest::SearchPotentialDuplicateContactJobTest()
{
- Q_OBJECT
-public:
- explicit MergeContactDuplicateContactDialog(QWidget *parent=0);
- ~MergeContactDuplicateContactDialog();
-
-private slots:
- void slotAddDuplicateContact();
-
-private:
- void readConfig();
- void writeConfig();
- MergeContactShowResultTabWidget *mMergeContact;
-};
}
-#endif // MERGECONTACTDUPLICATECONTACTDIALOG_H
+QTEST_KDEMAIN(SearchPotentialDuplicateContactJobTest, NoGUI)
diff --git a/kaddressbook/merge/mergecontactduplicatecontactdialog.h \
b/kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.h similarity index \
56% copy from kaddressbook/merge/mergecontactduplicatecontactdialog.h
copy to kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.h
index 7ebc3ba..1407596 100644
--- a/kaddressbook/merge/mergecontactduplicatecontactdialog.h
+++ b/kaddressbook/merge/tests/searchpotentialduplicatecontactjobtest.h
@@ -15,28 +15,16 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef MERGECONTACTDUPLICATECONTACTDIALOG_H
-#define MERGECONTACTDUPLICATECONTACTDIALOG_H
+#ifndef SEARCHPOTENTIALDUPLICATECONTACTJOBTEST_H
+#define SEARCHPOTENTIALDUPLICATECONTACTJOBTEST_H
-#include <KDialog>
+#include <QObject>
-namespace KABMergeContacts {
-class MergeContactShowResultTabWidget;
-class MergeContactDuplicateContactDialog : public KDialog
+class SearchPotentialDuplicateContactJobTest : public QObject
{
Q_OBJECT
public:
- explicit MergeContactDuplicateContactDialog(QWidget *parent=0);
- ~MergeContactDuplicateContactDialog();
-
-private slots:
- void slotAddDuplicateContact();
-
-private:
- void readConfig();
- void writeConfig();
- MergeContactShowResultTabWidget *mMergeContact;
+ SearchPotentialDuplicateContactJobTest();
};
-}
-#endif // MERGECONTACTDUPLICATECONTACTDIALOG_H
+#endif // SEARCHPOTENTIALDUPLICATECONTACTJOBTEST_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic