┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/tests
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 /src/tests
parent236eac2ffa671fe9cd56c233925a19d8c89f1141 (diff)
Add unittest for DolphinSearchBox
A minor API cleanup in DolphinSearchBox has been done related to the test.
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/CMakeLists.txt31
-rw-r--r--src/tests/dolphinsearchboxtest.cpp70
2 files changed, 94 insertions, 7 deletions
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"