summaryrefslogtreecommitdiffstats
path: root/src/test/guitests
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/guitests')
-rw-r--r--src/test/guitests/guitests.pro16
-rw-r--r--src/test/guitests/src/VersionCheckerTests.cpp47
-rw-r--r--src/test/guitests/src/VersionCheckerTests.h28
-rw-r--r--src/test/guitests/src/main.cpp26
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);
+}