mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2026-06-29 01:54:20 +03:00
feat+fix(Version): make comparsion FlexVer-compatible
... and fixes a minor issue in the parsing. This changes the expected behavior of Versions in one significant way: Now, Versions like 1.2 or 1.5 evaluate to LESS THAN 1.2.0 and 1.5.0 respectively. This makes sense for sorting versions, since one expects the versions without patch release to 'contain' the ones with, so the ones without should be evaluated uniformily with the ones with the patch. Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
parent
bcebb1920f
commit
445f9e5f71
3 changed files with 106 additions and 70 deletions
|
|
@ -33,24 +33,24 @@ class VersionTest : public QObject {
|
|||
addDataColumns();
|
||||
|
||||
QTest::newRow("equal, explicit") << "1.2.0" << "1.2.0" << false << true;
|
||||
QTest::newRow("equal, implicit 1") << "1.2" << "1.2.0" << false << true;
|
||||
QTest::newRow("equal, implicit 2") << "1.2.0" << "1.2" << false << true;
|
||||
QTest::newRow("equal, two-digit") << "1.42" << "1.42" << false << true;
|
||||
|
||||
QTest::newRow("lessThan, explicit 1") << "1.2.0" << "1.2.1" << true << false;
|
||||
QTest::newRow("lessThan, explicit 2") << "1.2.0" << "1.3.0" << true << false;
|
||||
QTest::newRow("lessThan, explicit 3") << "1.2.0" << "2.2.0" << true << false;
|
||||
QTest::newRow("lessThan, implicit 1") << "1.2" << "1.2.1" << true << false;
|
||||
QTest::newRow("lessThan, implicit 2") << "1.2" << "1.3.0" << true << false;
|
||||
QTest::newRow("lessThan, implicit 3") << "1.2" << "2.2.0" << true << false;
|
||||
QTest::newRow("lessThan, implicit 1") << "1.2" << "1.2.0" << true << false;
|
||||
QTest::newRow("lessThan, implicit 2") << "1.2" << "1.2.1" << true << false;
|
||||
QTest::newRow("lessThan, implicit 3") << "1.2" << "1.3.0" << true << false;
|
||||
QTest::newRow("lessThan, implicit 4") << "1.2" << "2.2.0" << true << false;
|
||||
QTest::newRow("lessThan, two-digit") << "1.41" << "1.42" << true << false;
|
||||
|
||||
QTest::newRow("greaterThan, explicit 1") << "1.2.1" << "1.2.0" << false << false;
|
||||
QTest::newRow("greaterThan, explicit 2") << "1.3.0" << "1.2.0" << false << false;
|
||||
QTest::newRow("greaterThan, explicit 3") << "2.2.0" << "1.2.0" << false << false;
|
||||
QTest::newRow("greaterThan, implicit 1") << "1.2.1" << "1.2" << false << false;
|
||||
QTest::newRow("greaterThan, implicit 2") << "1.3.0" << "1.2" << false << false;
|
||||
QTest::newRow("greaterThan, implicit 3") << "2.2.0" << "1.2" << false << false;
|
||||
QTest::newRow("greaterThan, implicit 1") << "1.2.0" << "1.2" << false << false;
|
||||
QTest::newRow("greaterThan, implicit 2") << "1.2.1" << "1.2" << false << false;
|
||||
QTest::newRow("greaterThan, implicit 3") << "1.3.0" << "1.2" << false << false;
|
||||
QTest::newRow("greaterThan, implicit 4") << "2.2.0" << "1.2" << false << false;
|
||||
QTest::newRow("greaterThan, two-digit") << "1.42" << "1.41" << false << false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue