mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-06-19 20:24:38 -04:00
Enhance update checker
* Reduce initial update check notification to 500 ms to prevent inappropriately stealing focus from user * Add build flag WITH_XC_UPDATECHECK which defaults to ON * Update checks are resolved every 7 days instead of every time the application is started * Better checks for beta builds; ignore snapshots * Increase test cases
This commit is contained in:
parent
53a57ee8c7
commit
2ffefc95ae
11 changed files with 139 additions and 59 deletions
|
@ -29,13 +29,32 @@ void TestUpdateCheck::initTestCase()
|
|||
|
||||
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);
|
||||
// No upgrade
|
||||
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);
|
||||
|
||||
// First digit upgrade
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.4.0"), QString("3.0.0")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("3.0.0"), QString("2.4.0")), false);
|
||||
|
||||
// Second digit upgrade
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.4"), QString("2.4.0")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.4.0"), QString("2.3.4")), false);
|
||||
|
||||
// Third digit upgrade
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.3.1")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.1"), QString("2.3.0")), false);
|
||||
|
||||
// Beta builds
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.3.0-beta1")), false);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.3.1-beta1")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0-beta1"), QString("2.3.0")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0-beta"), QString("2.3.0-beta1")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0-beta1"), QString("2.3.0-beta")), false);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0-beta1"), QString("2.3.0-beta2")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0-beta2"), QString("2.3.0-beta1")), false);
|
||||
|
||||
// Snapshot and invalid data
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.4-snapshot"), QString("2.4.0")), false);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.4.0"), QString("invalid")), false);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.4.0"), QString("")), false);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue