A minor API cleanup in DolphinSearchBox has been done related to the test.
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
saveSettings();
}
+void DolphinSearchBox::setText(const QString& text)
+{
+ m_searchInput->setText(text);
+}
+
QString DolphinSearchBox::text() const
{
return m_searchInput->text();
m_searchInput->selectAll();
}
-void DolphinSearchBox::clearText()
-{
- m_searchInput->clear();
-}
-
bool DolphinSearchBox::event(QEvent* event)
{
if (event->type() == QEvent::Polish) {
explicit DolphinSearchBox(QWidget* parent = 0);
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.
*/
void selectAll();
- void clearText();
-
protected:
virtual bool event(QEvent* event);
virtual void showEvent(QShowEvent* event);
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})
--- /dev/null
+/***************************************************************************
+ * Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
+ * *
+ * 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"