┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-05-18 23:36:58 +0000
committerPeter Penz <[email protected]>2007-05-18 23:36:58 +0000
commit15b965af3a9c5387af74fad9ccf884ed15394d2c (patch)
tree3674e69e0a437f8a39da0b7229bb3f145884ddd2 /src
parent16e809f9fa531ffe4d7c9c825a2e06d92bdfa9e1 (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.txt1
-rw-r--r--src/renamedialog.cpp2
-rw-r--r--src/renamedialog.h4
-rw-r--r--src/tests/CMakeLists.txt19
-rw-r--r--src/tests/renamedialogtest.cpp45
-rw-r--r--src/tests/renamedialogtest.h33
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