diff options
Diffstat (limited to 'src/test/guitests')
| -rw-r--r-- | src/test/guitests/guitests.pro | 16 | ||||
| -rw-r--r-- | src/test/guitests/src/VersionCheckerTests.cpp | 47 | ||||
| -rw-r--r-- | src/test/guitests/src/VersionCheckerTests.h | 28 | ||||
| -rw-r--r-- | src/test/guitests/src/main.cpp | 26 |
4 files changed, 117 insertions, 0 deletions
diff --git a/src/test/guitests/guitests.pro b/src/test/guitests/guitests.pro new file mode 100644 index 0000000..3be7e0d --- /dev/null +++ b/src/test/guitests/guitests.pro @@ -0,0 +1,16 @@ +QT += network
+QT -= gui
+TARGET = guitests
+CONFIG += qtestlib
+CONFIG += console
+CONFIG -= app_bundle
+TEMPLATE = app
+INCLUDEPATH += ../../gui/src
+SOURCES += src/main.cpp \
+ src/VersionCheckerTests.cpp
+HEADERS += src/VersionCheckerTests.h
+win32 {
+ Debug:DESTDIR = ../../../bin/Debug
+ Release:DESTDIR = ../../../bin/Release
+}
+else:DESTDIR = ../../../bin
diff --git a/src/test/guitests/src/VersionCheckerTests.cpp b/src/test/guitests/src/VersionCheckerTests.cpp new file mode 100644 index 0000000..0efc5f9 --- /dev/null +++ b/src/test/guitests/src/VersionCheckerTests.cpp @@ -0,0 +1,47 @@ +/* + * barrier -- mouse and keyboard sharing utility + * Copyright (C) 2012-2016 Symless Ltd. + * Copyright (C) 2012 Nick Bolton + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file LICENSE that should have accompanied this file. + * + * This package 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, see <http://www.gnu.org/licenses/>. + */ + +#include "VersionCheckerTests.h" +#include "VersionChecker.cpp" +#include "../../gui/tmp/release/moc_VersionChecker.cpp" + +#include <QtTest/QTest> + +void VersionCheckerTests::compareVersions() +{ + VersionChecker versionChecker; + + // compare majors + QCOMPARE(versionChecker.compareVersions("1.0.0", "2.0.0"), 1); + QCOMPARE(versionChecker.compareVersions("2.0.0", "1.0.0"), -1); + QCOMPARE(versionChecker.compareVersions("1.0.0", "1.0.0"), 0); + QCOMPARE(versionChecker.compareVersions("1.4.8", "2.4.7"), 1); + QCOMPARE(versionChecker.compareVersions("2.4.7", "1.4.8"), -1); + + // compare minors + QCOMPARE(versionChecker.compareVersions("1.3.0", "1.4.0"), 1); + QCOMPARE(versionChecker.compareVersions("1.4.0", "1.3.0"), -1); + QCOMPARE(versionChecker.compareVersions("1.4.0", "1.4.0"), 0); + QCOMPARE(versionChecker.compareVersions("1.3.8", "1.4.7"), 1); + QCOMPARE(versionChecker.compareVersions("1.4.7", "1.3.8"), -1); + + // compare revs + QCOMPARE(versionChecker.compareVersions("1.4.7", "1.4.8"), 1); + QCOMPARE(versionChecker.compareVersions("1.4.8", "1.4.7"), -1); + QCOMPARE(versionChecker.compareVersions("1.4.7", "1.4.7"), 0); +} diff --git a/src/test/guitests/src/VersionCheckerTests.h b/src/test/guitests/src/VersionCheckerTests.h new file mode 100644 index 0000000..7884f3a --- /dev/null +++ b/src/test/guitests/src/VersionCheckerTests.h @@ -0,0 +1,28 @@ +/* + * barrier -- mouse and keyboard sharing utility + * Copyright (C) 2012-2016 Symless Ltd. + * Copyright (C) 2012 Nick Bolton + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file LICENSE that should have accompanied this file. + * + * This package 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, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "qobject.h" + +class VersionCheckerTests : public QObject +{ + Q_OBJECT +private slots: + void compareVersions(); +}; diff --git a/src/test/guitests/src/main.cpp b/src/test/guitests/src/main.cpp new file mode 100644 index 0000000..2ff6e72 --- /dev/null +++ b/src/test/guitests/src/main.cpp @@ -0,0 +1,26 @@ +/* + * barrier -- mouse and keyboard sharing utility + * Copyright (C) 2012-2016 Symless Ltd. + * Copyright (C) 2012 Nick Bolton + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file LICENSE that should have accompanied this file. + * + * This package 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, see <http://www.gnu.org/licenses/>. + */ + +#include <QtTest/QTest> +#include "VersionCheckerTests.h" + +int main(int argc, char *argv[]) +{ + VersionCheckerTests versionCheckerTests; + QTest::qExec(&versionCheckerTests, argc, argv); +} |
