Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWeslly <weslly@users.noreply.github.com>2019-01-30 17:11:50 +0300
committerJonathan White <support@dmapps.us>2019-01-30 17:11:50 +0300
commit779b529da2f9c3d7204dcf1a32bf07feedc0d5aa (patch)
tree14f838fa9e405e6893ac68c083c370615ef7174a /tests/TestUpdateCheck.cpp
parent5c9b062f13ea1fb9122d4c59f5b299d1569190ce (diff)
Update checking feature (#2648)
* Check on startup (toggleable setting) and manually * Option to check for pre-releases (eg, 2.4.0-beta1) * Only included if WITH_XC_NETWORKING is enabled
Diffstat (limited to 'tests/TestUpdateCheck.cpp')
-rw-r--r--tests/TestUpdateCheck.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/TestUpdateCheck.cpp b/tests/TestUpdateCheck.cpp
new file mode 100644
index 000000000..3bde72950
--- /dev/null
+++ b/tests/TestUpdateCheck.cpp
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2019 KeePassXC Team <team@keepassxc.org>
+ *
+ * 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 or (at your option)
+ * version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "TestUpdateCheck.h"
+#include "TestGlobal.h"
+#include "updatecheck/UpdateChecker.h"
+#include "crypto/Crypto.h"
+
+QTEST_GUILESS_MAIN(TestUpdateCheck)
+
+void TestUpdateCheck::initTestCase()
+{
+ QVERIFY(Crypto::init());
+}
+
+void TestUpdateCheck::testCompareVersion()
+{
+ // Remote Version , Installed Version
+ QCOMPARE(UpdateChecker::compareVersions(QString("2.4.0"), QString("2.3.4")), true);
+ QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.4.0")), false);
+ QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.3.0")), false);
+ QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.3.0-beta1")), true);
+ QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0-beta2"), QString("2.3.0-beta1")), true);
+ QCOMPARE(UpdateChecker::compareVersions(QString("2.3.4"), QString("2.4.0-snapshot")), false);
+ QCOMPARE(UpdateChecker::compareVersions(QString("invalid"), QString("2.4.0")), false);
+ QCOMPARE(UpdateChecker::compareVersions(QString(""), QString("2.4.0")), false);
+}