add_subdirectory( pics )
add_subdirectory( servicemenus )
+#add_subdirectory( tests )
include_directories( ${CMAKE_SOURCE_DIR}/libkonq ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
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
* "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
--- /dev/null
+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)
+
--- /dev/null
+/***************************************************************************
+ * Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at> *
+ * *
+ * 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"));
+}
--- /dev/null
+/***************************************************************************
+ * Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at> *
+ * *
+ * 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