diff options
| author | Peter Penz <[email protected]> | 2007-05-18 23:36:58 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-05-18 23:36:58 +0000 |
| commit | 15b965af3a9c5387af74fad9ccf884ed15394d2c (patch) | |
| tree | 3674e69e0a437f8a39da0b7229bb3f145884ddd2 /src | |
| parent | 16e809f9fa531ffe4d7c9c825a2e06d92bdfa9e1 (diff) | |
David Faure wrote:
> Sounds like the kind of method that would benefit greatly from a unit test :)
OK, committing my first unit test for KDE. Although very minimal it's at least a start ;-) (currently deactivated as I've some problem in CMakeList.txt)
svn path=/trunk/KDE/kdebase/apps/; revision=666162
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/renamedialog.cpp | 2 | ||||
| -rw-r--r-- | src/renamedialog.h | 4 | ||||
| -rw-r--r-- | src/tests/CMakeLists.txt | 19 | ||||
| -rw-r--r-- | src/tests/renamedialogtest.cpp | 45 | ||||
| -rw-r--r-- | src/tests/renamedialogtest.h | 33 |
6 files changed, 102 insertions, 2 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ed064f4e5..595146d5b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,7 @@ add_subdirectory( pics ) add_subdirectory( servicemenus ) +#add_subdirectory( tests ) include_directories( ${CMAKE_SOURCE_DIR}/libkonq ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ) diff --git a/src/renamedialog.cpp b/src/renamedialog.cpp index def141e04..f8f549ddf 100644 --- a/src/renamedialog.cpp +++ b/src/renamedialog.cpp @@ -120,7 +120,7 @@ void RenameDialog::slotButtonClicked(int button) KDialog::slotButtonClicked(button); } -QString RenameDialog::extensionString(const QString& name) const +QString RenameDialog::extensionString(const QString& name) { QString extension; bool foundExtension = false; // true if at least one valid file extension diff --git a/src/renamedialog.h b/src/renamedialog.h index ec19e2697..b99fed291 100644 --- a/src/renamedialog.h +++ b/src/renamedialog.h @@ -92,13 +92,15 @@ private: * "Image.1.12.gif" -> ".gif" * "Image.tar.1.12.gz" -> ".tar.1.12.gz" */ - QString extensionString(const QString& name) const; + static QString extensionString(const QString& name); private: bool m_renameOneItem; KLineEdit* m_lineEdit; QString m_newName; QString m_errorString; + + friend class RenameDialogTest; // allow access for unit testing }; #endif diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 000000000..687d68d9c --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,19 @@ +if(KDE4_BUILD_TESTS) + + include_directories( ${CMAKE_SOURCE_DIR}/apps/dolphin/src ) + + # Tests don't need to go into toplevel/bin, they are fine in the current dir. + set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) + + ########### renamedialogtest ############### + + kde4_automoc(renamedialogtest.cpp) + + kde4_add_executable(renamedialogtest RUN_UNINSTALLED renamedialogtest.cpp) + + target_link_libraries(renamedialogtest dolphin ${QT_QTTEST_LIBRARY}) + + ############################################ + +endif(KDE4_BUILD_TESTS) + diff --git a/src/tests/renamedialogtest.cpp b/src/tests/renamedialogtest.cpp new file mode 100644 index 000000000..8914bc067 --- /dev/null +++ b/src/tests/renamedialogtest.cpp @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright (C) 2006 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 "renamedialogtest.h" +#include <renamedialog.h> + +QTEST_KDEMAIN(RenameDialogTest, NoGUI) + +void RenameDialogTest::testExtensionString() +{ + QString result; + + result = RenameDialog::extensionString("Image.gif"); + QCOMPARE(result, QString(".gif")); + + result = RenameDialog::extensionString("package.tar.gz"); + QCOMPARE(result, QString(".tar.gz")); + + result = RenameDialog::extensionString("cmake-2.4.5"); + QCOMPARE(result, QString()); + + result = RenameDialog::extensionString("Image.1.12.gif"); + QCOMPARE(result, QString(".gif")); + + result = RenameDialog::extensionString("Image.tar.1.12.gz"); + QCOMPARE(result, QString(".tar.1.12.gz")); +} diff --git a/src/tests/renamedialogtest.h b/src/tests/renamedialogtest.h new file mode 100644 index 000000000..0aabc62a5 --- /dev/null +++ b/src/tests/renamedialogtest.h @@ -0,0 +1,33 @@ +/*************************************************************************** + * Copyright (C) 2006 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 * + ***************************************************************************/ + +#ifndef RENAMEDIALOGTEST_H +#define RENAMEDIALOGTEST_H + +#include <QObject> + +class RenameDialogTest : public QObject +{ + Q_OBJECT + +private slots: + void testExtensionString(); +}; + +#endif |
