diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 753d0a39b..5dfb9dab1 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -24,5 +24,6 @@ message("PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR}) message("QET_DIR: " ${QET_DIR}) # Add sub directories +add_subdirectory(qttest) add_subdirectory(catch) add_subdirectory(googletest) diff --git a/tests/qttest/.clang-format b/tests/qttest/.clang-format new file mode 100644 index 000000000..3f1da8525 --- /dev/null +++ b/tests/qttest/.clang-format @@ -0,0 +1,67 @@ +--- +BasedOnStyle: LLVM +AlignAfterOpenBracket: AlwaysBreak +AlignConsecutiveMacros: 'true' +AlignConsecutiveAssignments: 'true' +AlignConsecutiveDeclarations: 'true' +AlignEscapedNewlines: Right +AlignOperands: 'true' +AlignTrailingComments: 'true' +AllowAllArgumentsOnNextLine: 'false' +AllowAllConstructorInitializersOnNextLine: 'true' +AllowAllParametersOfDeclarationOnNextLine: 'true' +AllowShortBlocksOnASingleLine: 'true' +AllowShortCaseLabelsOnASingleLine: 'true' +AllowShortFunctionsOnASingleLine: All +AllowShortIfStatementsOnASingleLine: Always +AllowShortLambdasOnASingleLine: All +AllowShortLoopsOnASingleLine: 'true' +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: 'true' +AlwaysBreakTemplateDeclarations: 'Yes' +BinPackArguments: 'false' +BinPackParameters: 'false' +BreakAfterJavaFieldAnnotations: 'true' +BreakBeforeBinaryOperators: NonAssignment +BreakBeforeBraces: Allman +BreakBeforeTernaryOperators: 'false' +BreakConstructorInitializers: AfterColon +BreakInheritanceList: AfterColon +BreakStringLiterals: 'true' +ColumnLimit: '80' +CompactNamespaces: 'false' +ConstructorInitializerAllOnOneLineOrOnePerLine: 'true' +Cpp11BracedListStyle: 'true' +FixNamespaceComments: 'true' +IncludeBlocks: Regroup +IndentCaseLabels: 'false' +IndentPPDirectives: AfterHash +IndentWidth: '4' +JavaScriptWrapImports: 'true' +Language: Cpp +MaxEmptyLinesToKeep: '1' +NamespaceIndentation: All +PointerAlignment: Left +ReflowComments: 'true' +SortIncludes: 'true' +SortUsingDeclarations: 'true' +SpaceAfterCStyleCast: 'true' +SpaceAfterLogicalNot: 'true' +SpaceAfterTemplateKeyword: 'true' +SpaceBeforeAssignmentOperators: 'true' +SpaceBeforeCpp11BracedList: 'true' +SpaceBeforeCtorInitializerColon: 'true' +SpaceBeforeInheritanceColon: 'true' +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: 'true' +SpaceInEmptyParentheses: 'false' +SpacesInAngles: 'false' +SpacesInCStyleCastParentheses: 'false' +SpacesInContainerLiterals: 'false' +SpacesInParentheses: 'false' +SpacesInSquareBrackets: 'false' +Standard: Cpp11 +TabWidth: '4' +UseTab: Always + +... diff --git a/tests/qttest/.gitignore b/tests/qttest/.gitignore new file mode 100644 index 000000000..fab7372d7 --- /dev/null +++ b/tests/qttest/.gitignore @@ -0,0 +1,73 @@ +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + diff --git a/tests/qttest/CMakeLists.txt b/tests/qttest/CMakeLists.txt new file mode 100644 index 000000000..e8e2b8f35 --- /dev/null +++ b/tests/qttest/CMakeLists.txt @@ -0,0 +1,69 @@ +# Copyright 2006 The QElectroTech Team +# This file is part of QElectroTech. +# +# QElectroTech 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. +# +# QElectroTech 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 QElectroTech. If not, see . + +cmake_minimum_required(VERSION 3.5) + +message("_____________________________________________________________________") + +project(qt_unittests LANGUAGES CXX) + +if(DEFINED ENV{QET_DIR}) + set(QET_DIR "../..") + message("QET_DIR is not set, assuming QET is ../..") +endif() + +message("PROJECT_NAME: " ${PROJECT_NAME}) +message("PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR}) +message("QET_DIR: " ${QET_DIR}) + +find_package(Qt5Test REQUIRED) +find_package(Qt5Gui REQUIRED) +find_package(Qt5Xml REQUIRED) +find_package(Qt5Svg REQUIRED) +find_package(Qt5Sql REQUIRED) +find_package(Qt5Concurrent REQUIRED) +find_package(Qt5Widgets REQUIRED) +find_package(KF5WidgetsAddons) +find_package(KF5CoreAddons) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +SET(CMAKE_CXX_STANDARD 17) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) +enable_testing() + +add_executable(${PROJECT_NAME} tst_mytest.cpp) +add_test(NAME ${PROJECT_NAME} COMMAND ${PROJECT_NAME}) + +target_link_libraries( + ${PROJECT_NAME} + PRIVATE + Qt5::Test + KF5::WidgetsAddons + KF5::CoreAddons + Qt5::Gui + Qt5::Xml + Qt5::Svg + Qt5::Sql + Qt5::Widgets + Qt5::Concurrent + ) + diff --git a/tests/qttest/tst_mytest.cpp b/tests/qttest/tst_mytest.cpp new file mode 100644 index 000000000..0a8fa62b4 --- /dev/null +++ b/tests/qttest/tst_mytest.cpp @@ -0,0 +1,48 @@ +#include +#include + +// add necessary includes here + +class mytest : public QObject +{ + Q_OBJECT + +public: + mytest(); + ~mytest(); + +private slots: + void initTestCase(); + void cleanupTestCase(); + void test_case1(); + +}; + +mytest::mytest() +{ + +} + +mytest::~mytest() +{ + +} + +void mytest::initTestCase() +{ + +} + +void mytest::cleanupTestCase() +{ + +} + +void mytest::test_case1() +{ + +} + +QTEST_MAIN(mytest) + +#include "tst_mytest.moc"