21#include <QtTest/QtTest>
23void UpdaterTest::parseVersionsTest_data()
25 QTest::addColumn<QString>(
"versionString");
26 QTest::addColumn<bool>(
"valid");
27 QTest::addColumn<int>(
"major");
28 QTest::addColumn<int>(
"minor");
29 QTest::addColumn<int>(
"revision");
31 QTest::newRow(
"zeros") <<
"0.0.0" <<
true << 0 << 0 << 0;
32 QTest::newRow(
"zero-1") <<
"0.0.1" <<
true << 0 << 0 << 1;
33 QTest::newRow(
"current") <<
"1.4.1" <<
true << 1 << 4 << 1;
34 QTest::newRow(
"next-bugfix") <<
"1.4.2" <<
true << 1 << 4 << 2;
35 QTest::newRow(
"2digits") <<
"2.5.15" <<
true << 2 << 5 << 15;
36 QTest::newRow(
"3digits") <<
"123.123.333" <<
true << 123 << 123 << 333;
37 QTest::newRow(
"negative") <<
"-1.4.1" <<
false << 0 << 0 << 0;
38 QTest::newRow(
"invalid") <<
"0.0.0-1" <<
false << 0 << 0 << 0;
39 QTest::newRow(
"invalid2") <<
"invalid1text" <<
false << 0 << 0 << 0;
42void UpdaterTest::parseVersionsTest()
44 QFETCH(QString, versionString);
48 QFETCH(
int, revision);
52 QCOMPARE(v.isValid, valid);
55 QCOMPARE(v.majorVersion, major);
56 QCOMPARE(v.minorVersion, minor);
57 QCOMPARE(v.revisionNumber, revision);
61void UpdaterTest::compareVersionsTest_data()
63 QTest::addColumn<QString>(
"version1");
64 QTest::addColumn<QString>(
"version2");
65 QTest::addColumn<bool>(
"less");
66 QTest::addColumn<bool>(
"more");
67 QTest::addColumn<bool>(
"equal");
69 QTest::newRow(
"test1") <<
"0.0.1" <<
"0.0.2" <<
true <<
false <<
false;
70 QTest::newRow(
"test2") <<
"0.1.2" <<
"0.0.2" <<
false <<
true <<
false;
71 QTest::newRow(
"test3") <<
"1.0.1" <<
"0.0.2" <<
false <<
true <<
false;
72 QTest::newRow(
"test4") <<
"1.4.1" <<
"1.4.2" <<
true <<
false <<
false;
73 QTest::newRow(
"test5") <<
"1.5.0" <<
"1.4.2" <<
false <<
true <<
false;
74 QTest::newRow(
"test6") <<
"1.5.0" <<
"1.5.0" <<
false <<
false <<
true;
75 QTest::newRow(
"test7") <<
"1.5.1" <<
"1.4.2" <<
false <<
true <<
false;
76 QTest::newRow(
"test8") <<
"1.4.1" <<
"1.4.2" <<
true <<
false <<
false;
79void UpdaterTest::compareVersionsTest()
81 QFETCH(QString, version1);
82 QFETCH(QString, version2);
90 QCOMPARE(v1 < v2, less);
91 QCOMPARE(v1 > v2, more);
92 QCOMPARE(v1 == v2, equal);