# HG changeset patch # User Andre Heinecke # Date 1400754045 0 # Node ID dd8a295d5b4d33a282ec5f8cdcb71cbb56ae54ab # Parent bde15f68942bc60c16561ec0c8672017db4a242e Add framework for mainwindow testing diff -r bde15f68942b -r dd8a295d5b4d ui/mainwindow.h --- a/ui/mainwindow.h Thu May 22 10:19:54 2014 +0000 +++ b/ui/mainwindow.h Thu May 22 10:20:45 2014 +0000 @@ -78,12 +78,6 @@ void installerSuccess(); void installCerts(); - /* @brief Execute the file fileName to install the softwareupdate. - * - * Once the installer process is started this function terminates - * the application. */ - void installNewSW(const QString& fileName, const QDateTime& modDate); - void saveAutoUpdate(int state); void saveAutoStart(int state); @@ -126,8 +120,19 @@ */ void loadUnselectedCertificates(); +protected slots: + /** @brief cleanup and close the main window + * + * Perform a clean exit (saving state etc.) and close + * the application */ void closeApp(); + /* @brief Execute the file fileName to install the softwareupdate. + * + * Once the installer process is started this function terminates + * the application. */ + void installNewSW(const QString& fileName, const QDateTime& modDate); + private: /** @brief check the integrity of available files. * diff -r bde15f68942b -r dd8a295d5b4d ui/tests/CMakeLists.txt --- a/ui/tests/CMakeLists.txt Thu May 22 10:19:54 2014 +0000 +++ b/ui/tests/CMakeLists.txt Thu May 22 10:20:45 2014 +0000 @@ -56,6 +56,7 @@ add_custom_test(commontest.cpp "") add_custom_test(createcertlisttest.cpp "${CMAKE_SOURCE_DIR}/ui/createcertlistdialog.cpp") +add_custom_test(mainwindowtest.cpp "${TRUSTBRIDGE_SOURCES}") if (WIN32) add_custom_test(windowsstoretest.cpp "${CMAKE_SOURCE_DIR}/cinst/windowsstore.c") diff -r bde15f68942b -r dd8a295d5b4d ui/tests/mainwindowtest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/tests/mainwindowtest.cpp Thu May 22 10:20:45 2014 +0000 @@ -0,0 +1,32 @@ +/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik + * Software engineering by Intevation GmbH + * + * This file is Free Software under the GNU GPL (v>=2) + * and comes with ABSOLUTELY NO WARRANTY! + * See LICENSE.txt for details. + */ + +#include "mainwindowtest.h" + +#ifdef Q_OS_WIN + Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) +#else + Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) +#endif + +MainWindowTest::MainWindowTest() : MainWindow(true) { +} + +void MainWindowTest::closeApp() { + emit closeCalled(); +} + +void MainWindowTest::testInvalidUpdate() { + // TODO +} + +void MainWindowTest::testValidUpdate() { + // TODO +} + +QTEST_MAIN(MainWindowTest); diff -r bde15f68942b -r dd8a295d5b4d ui/tests/mainwindowtest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/tests/mainwindowtest.h Thu May 22 10:20:45 2014 +0000 @@ -0,0 +1,33 @@ +/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik + * Software engineering by Intevation GmbH + * + * This file is Free Software under the GNU GPL (v>=2) + * and comes with ABSOLUTELY NO WARRANTY! + * See LICENSE.txt for details. + */ +#ifndef MAINWINDOWTEST_H +#define MAINWINDOWTEST_H + +#include +#include +#include "mainwindow.h" + +class MainWindowTest: public MainWindow +{ + Q_OBJECT + +public: + MainWindowTest(); + +protected slots: + void closeApp(); + +private Q_SLOTS: + void testInvalidUpdate(); + void testValidUpdate(); + +Q_SIGNALS: + void closeCalled(); +}; + +#endif // MAINWINDOWTEST_H