┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-02-04 22:13:50 +0100
committerPeter Penz <[email protected]>2011-02-04 22:13:50 +0100
commit17d217b862ec21668632576fd9df86d3a0cd5813 (patch)
treeaf7c6b862096d5e6c8ea08315e3df58a17065e42
parent236eac2ffa671fe9cd56c233925a19d8c89f1141 (diff)
Add unittest for DolphinSearchBox
A minor API cleanup in DolphinSearchBox has been done related to the test.
-rw-r--r--src/dolphinviewcontainer.cpp2
-rw-r--r--src/search/dolphinsearchbox.cpp10
-rw-r--r--src/search/dolphinsearchbox.h8
-rw-r--r--src/tests/CMakeLists.txt31
-rw-r--r--src/tests/dolphinsearchboxtest.cpp70
5 files changed, 106 insertions, 15 deletions
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp
index 1b921e678..922259858 100644
--- a/src/dolphinviewcontainer.cpp
+++ b/src/dolphinviewcontainer.cpp
@@ -212,7 +212,7 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled)
m_urlNavigator->setVisible(!enabled);
if (enabled) {
- m_searchBox->clearText();
+ m_searchBox->setText(QString());
// Remember the most recent non-search URL as search path
// of the search-box, so that it can be restored
diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp
index f4588f67f..c7d08ff1f 100644
--- a/src/search/dolphinsearchbox.cpp
+++ b/src/search/dolphinsearchbox.cpp
@@ -73,6 +73,11 @@ DolphinSearchBox::~DolphinSearchBox()
saveSettings();
}
+void DolphinSearchBox::setText(const QString& text)
+{
+ m_searchInput->setText(text);
+}
+
QString DolphinSearchBox::text() const
{
return m_searchInput->text();
@@ -141,11 +146,6 @@ void DolphinSearchBox::selectAll()
m_searchInput->selectAll();
}
-void DolphinSearchBox::clearText()
-{
- m_searchInput->clear();
-}
-
bool DolphinSearchBox::event(QEvent* event)
{
if (event->type() == QEvent::Polish) {
diff --git a/src/search/dolphinsearchbox.h b/src/search/dolphinsearchbox.h
index 3e4648048..07fda5c29 100644
--- a/src/search/dolphinsearchbox.h
+++ b/src/search/dolphinsearchbox.h
@@ -49,6 +49,12 @@ public:
virtual ~DolphinSearchBox();
/**
+ * Sets the text that should be used as input for
+ * searching.
+ */
+ void setText(const QString& text);
+
+ /**
* Returns the text that should be used as input
* for searching.
*/
@@ -69,8 +75,6 @@ public:
*/
void selectAll();
- void clearText();
-
protected:
virtual bool event(QEvent* event);
virtual void showEvent(QShowEvent* event);
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index e0d9aa2be..5159bf3ea 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -1,17 +1,34 @@
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BUILD_DIR}/.. ${KDE4_INCLUDES} )
-kde4_add_unit_test(dolphintreeviewtest TEST dolphintreeviewtest.cpp)
-target_link_libraries(dolphintreeviewtest dolphinprivate ${KDE4_KDEUI_LIBS} ${QT_QTTEST_LIBRARY})
-
+# DolphinDetailsView
kde4_add_unit_test(dolphindetailsviewtest TEST dolphindetailsviewtest.cpp testbase.cpp ../views/zoomlevelinfo.cpp)
target_link_libraries(dolphindetailsviewtest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
-kde4_add_unit_test(dolphinviewtest_icons TEST dolphinviewtest_icons.cpp dolphinviewtest_allviewmodes.cpp testbase.cpp ../views/zoomlevelinfo.cpp)
-target_link_libraries(dolphinviewtest_icons dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+# DolphinSearchBox
+set(dolphinsearchboxtest_SRCS
+ dolphinsearchboxtest.cpp
+ ../search/dolphinsearchbox.cpp
+ ../search/dolphinsearchinformation.cpp
+)
+kde4_add_kcfg_files(dolphinsearchboxtest_SRCS
+ ../search/dolphin_searchsettings.kcfgc
+)
+kde4_add_unit_test(dolphinsearchboxtest TEST ${dolphinsearchboxtest_SRCS})
+target_link_libraries(dolphinsearchboxtest ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
-kde4_add_unit_test(dolphinviewtest_details TEST dolphinviewtest_details.cpp dolphinviewtest_allviewmodes.cpp testbase.cpp ../views/zoomlevelinfo.cpp)
-target_link_libraries(dolphinviewtest_details dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+# DolphinTreeView
+kde4_add_unit_test(dolphintreeviewtest TEST dolphintreeviewtest.cpp)
+target_link_libraries(dolphintreeviewtest dolphinprivate ${KDE4_KDEUI_LIBS} ${QT_QTTEST_LIBRARY})
+# DolphinView - columns
kde4_add_unit_test(dolphinviewtest_columns TEST dolphinviewtest_columns.cpp dolphinviewtest_allviewmodes.cpp testbase.cpp ../views/zoomlevelinfo.cpp)
target_link_libraries(dolphinviewtest_columns dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+
+# DolphinView - details
+kde4_add_unit_test(dolphinviewtest_details TEST dolphinviewtest_details.cpp dolphinviewtest_allviewmodes.cpp testbase.cpp ../views/zoomlevelinfo.cpp)
+target_link_libraries(dolphinviewtest_details dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+
+# DolphinView - icons
+kde4_add_unit_test(dolphinviewtest_icons TEST dolphinviewtest_icons.cpp dolphinviewtest_allviewmodes.cpp testbase.cpp ../views/zoomlevelinfo.cpp)
+target_link_libraries(dolphinviewtest_icons dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
diff --git a/src/tests/dolphinsearchboxtest.cpp b/src/tests/dolphinsearchboxtest.cpp
new file mode 100644
index 000000000..af6b58d32
--- /dev/null
+++ b/src/tests/dolphinsearchboxtest.cpp
@@ -0,0 +1,70 @@
+/***************************************************************************
+ * Copyright (C) 2011 by Peter Penz <[email protected]> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * 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 <qtest_kde.h>
+
+#include "search/dolphinsearchbox.h"
+#include <qtestkeyboard.h>
+
+class DolphinSearchBoxTest : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void init();
+ void cleanup();
+
+ void testTextClearing();
+
+private:
+ DolphinSearchBox* m_searchBox;
+};
+
+void DolphinSearchBoxTest::init()
+{
+ m_searchBox = new DolphinSearchBox();
+}
+
+void DolphinSearchBoxTest::cleanup()
+{
+ delete m_searchBox;
+}
+
+/**
+ * The test verifies whether the automatic clearing of the text works correctly.
+ * The text may not get cleared when the searchbox gets visible or invisible,
+ * as this would clear the text when switching between tabs.
+ */
+void DolphinSearchBoxTest::testTextClearing()
+{
+ m_searchBox->show();
+ QVERIFY(m_searchBox->text().isEmpty());
+
+ m_searchBox->setText("xyz");
+ m_searchBox->hide();
+ m_searchBox->show();
+ QCOMPARE(m_searchBox->text(), QString("xyz"));
+
+ QTest::keyClick(m_searchBox, Qt::Key_Escape);
+ QVERIFY(m_searchBox->text().isEmpty());
+}
+
+QTEST_KDEMAIN(DolphinSearchBoxTest, GUI)
+
+#include "dolphinsearchboxtest.moc"