summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/test/test-compareversion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/test/test-compareversion.cpp')
-rw-r--r--rbutil/rbutilqt/test/test-compareversion.cpp48
1 files changed, 38 insertions, 10 deletions
diff --git a/rbutil/rbutilqt/test/test-compareversion.cpp b/rbutil/rbutilqt/test/test-compareversion.cpp
index fa1b889254..c075c2af12 100644
--- a/rbutil/rbutilqt/test/test-compareversion.cpp
+++ b/rbutil/rbutilqt/test/test-compareversion.cpp
@@ -27,17 +27,18 @@ class TestVersionCompare : public QObject
27{ 27{
28 Q_OBJECT 28 Q_OBJECT
29 private slots: 29 private slots:
30 void testMain(); 30 void testCompare();
31 void testTrim();
31}; 32};
32 33
33 34
34struct testvector { 35struct compvector {
35 const char* first; 36 const char* first;
36 const char* second; 37 const char* second;
37 const int expected; 38 const int expected;
38}; 39};
39 40
40const struct testvector testdata[] = 41const struct compvector compdata[] =
41{ 42{
42 { "1.2.3", "1.2.3 ", 0 }, 43 { "1.2.3", "1.2.3 ", 0 },
43 { "1.2.3", " 1.2.3", 0 }, 44 { "1.2.3", " 1.2.3", 0 },
@@ -73,17 +74,44 @@ const struct testvector testdata[] =
73 { "prog-1.2a-64bit.tar.bz2","prog-1.2.3-64bit.tar.bz2", 1 }, 74 { "prog-1.2a-64bit.tar.bz2","prog-1.2.3-64bit.tar.bz2", 1 },
74}; 75};
75 76
77struct trimvector {
78 const char* input;
79 const QString expected;
80};
81
82const struct trimvector trimdata[] =
83{
84 { "prog-1.2-64bit.tar.bz2", "1.2" },
85 { "prog-1.2.tar.bz2", "1.2" },
86 { "1.2.3", "1.2.3" },
87 { " 1.2.3", "1.2.3" },
88 { "1.2.3 ", "1.2.3" },
89 { "10.22.33", "10.22.33" },
90 { "test-1.2.3", "1.2.3" },
91 { "1.2.3", "1.2.3" },
92 { "test-1.2.3.tar.gz", "1.2.3" },
93 { "prog-1.2-64bit.tar.bz2", "1.2" },
94 { "prog-1.2a.tar.bz2", "1.2a" },
95 { "prog-1.2a-64bit.tar.bz2","1.2a" },
96};
76 97
77void TestVersionCompare::testMain() 98void TestVersionCompare::testCompare()
78{ 99{
79 unsigned int i; 100 unsigned int i;
80 for(i = 0; i < sizeof(testdata) / sizeof(struct testvector); i++) { 101 for(i = 0; i < sizeof(compdata) / sizeof(struct compvector); i++) {
81 QCOMPARE(Utils::compareVersionStrings(testdata[i].first, 102 QCOMPARE(Utils::compareVersionStrings(compdata[i].first,
82 testdata[i].second), testdata[i].expected); 103 compdata[i].second), compdata[i].expected);
83 // inverse test possible because function return values are symmetrical. 104 // inverse test possible because function return values are symmetrical.
84 if(testdata[i].expected != 0) 105 if(compdata[i].expected != 0)
85 QCOMPARE(Utils::compareVersionStrings(testdata[i].second, 106 QCOMPARE(Utils::compareVersionStrings(compdata[i].second,
86 testdata[i].first), -testdata[i].expected); 107 compdata[i].first), -compdata[i].expected);
108 }
109}
110
111void TestVersionCompare::testTrim()
112{
113 for(int i = 0; i < sizeof(trimdata) / sizeof(struct trimvector); i++) {
114 QCOMPARE(Utils::trimVersionString(trimdata[i].input), trimdata[i].expected);
87 } 115 }
88} 116}
89 117