summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/test
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/test')
-rw-r--r--xbmc/addons/test/Makefile9
-rw-r--r--xbmc/addons/test/TestAddonVersion.cpp254
2 files changed, 0 insertions, 263 deletions
diff --git a/xbmc/addons/test/Makefile b/xbmc/addons/test/Makefile
deleted file mode 100644
index bf74bd6..0000000
--- a/xbmc/addons/test/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
1SRCS= \
2 TestAddonVersion.cpp
3
4LIB=addonsTest.a
5
6INCLUDES += -I../../../lib/gtest/include
7
8include ../../../Makefile.include
9-include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
diff --git a/xbmc/addons/test/TestAddonVersion.cpp b/xbmc/addons/test/TestAddonVersion.cpp
deleted file mode 100644
index 41e71a4..0000000
--- a/xbmc/addons/test/TestAddonVersion.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
1/*
2 * Copyright (C) 2005-2014 Team XBMC
3 * http://xbmc.org
4 *
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
9 *
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with XBMC; see the file COPYING. If not, see
17 * <http://www.gnu.org/licenses/>.
18 *
19 */
20
21#include "addons/AddonVersion.h"
22
23#include "gtest/gtest.h"
24
25using namespace ADDON;
26
27class TestAddonVersion : public testing::Test
28{
29public:
30 TestAddonVersion()
31 : v1_0("1.0"),
32 v1_00("1.00"),
33 v1_0_0("1.0.0"),
34 v1_1("1.1"),
35 v1_01("1.01"),
36 v1_0_1("1.0.1"),
37 e1_v1_0_0("1:1.0.0"),
38 e1_v1_0_1("1:1.0.1"),
39 e2_v1_0_0("2:1.0.0"),
40 e1_v1_0_0_r1("1:1.0.0-1"),
41 e1_v1_0_1_r1("1:1.0.1-1"),
42 e1_v1_0_0_r2("1:1.0.0-2"),
43 v1_0_0_beta("1.0.0~beta"),
44 v1_0_0_alpha("1.0.0~alpha"),
45 v1_0_0_alpha2("1.0.0~alpha2"),
46 v1_0_0_alpha3("1.0.0~alpha3"),
47 v1_0_0_alpha10("1.0.0~alpha10")
48 {
49 }
50
51 AddonVersion v1_0;
52 AddonVersion v1_00;
53 AddonVersion v1_0_0;
54 AddonVersion v1_1;
55 AddonVersion v1_01;
56 AddonVersion v1_0_1;
57 AddonVersion e1_v1_0_0;
58 AddonVersion e1_v1_0_1;
59 AddonVersion e2_v1_0_0;
60 AddonVersion e1_v1_0_0_r1;
61 AddonVersion e1_v1_0_1_r1;
62 AddonVersion e1_v1_0_0_r2;
63 AddonVersion v1_0_0_beta;
64 AddonVersion v1_0_0_alpha;
65 AddonVersion v1_0_0_alpha2;
66 AddonVersion v1_0_0_alpha3;
67 AddonVersion v1_0_0_alpha10;
68};
69
70TEST_F(TestAddonVersion, Constructor)
71{
72 EXPECT_EQ(v1_0.Upstream(), "1.0");
73 EXPECT_EQ(v1_0.Epoch(), 0);
74 EXPECT_TRUE(v1_0.Revision().empty());
75
76 EXPECT_EQ(v1_00.Upstream(), "1.00");
77 EXPECT_EQ(v1_00.Epoch(), 0);
78 EXPECT_TRUE(v1_00.Revision().empty());
79
80 EXPECT_EQ(v1_0_0.Upstream(), "1.0.0");
81 EXPECT_EQ(v1_0_0.Epoch(), 0);
82 EXPECT_TRUE(v1_0_0.Revision().empty());
83
84 EXPECT_EQ(v1_1.Upstream(), "1.1");
85 EXPECT_EQ(v1_1.Epoch(), 0);
86 EXPECT_TRUE(v1_1.Revision().empty());
87
88 EXPECT_EQ(v1_01.Upstream(), "1.01");
89 EXPECT_EQ(v1_01.Epoch(), 0);
90 EXPECT_TRUE(v1_01.Revision().empty());
91
92 EXPECT_EQ(v1_0_1.Upstream(), "1.0.1");
93 EXPECT_EQ(v1_0_1.Epoch(), 0);
94 EXPECT_TRUE(v1_0_1.Revision().empty());
95
96 EXPECT_EQ(e1_v1_0_0.Upstream(), "1.0.0");
97 EXPECT_EQ(e1_v1_0_0.Epoch(), 1);
98 EXPECT_TRUE(e1_v1_0_0.Revision().empty());
99
100 EXPECT_EQ(e1_v1_0_1.Upstream(), "1.0.1");
101 EXPECT_EQ(e1_v1_0_1.Epoch(), 1);
102 EXPECT_TRUE(e1_v1_0_1.Revision().empty());
103
104 EXPECT_EQ(e2_v1_0_0.Upstream(), "1.0.0");
105 EXPECT_EQ(e2_v1_0_0.Epoch(), 2);
106 EXPECT_TRUE(e2_v1_0_0.Revision().empty());
107
108 EXPECT_EQ(e1_v1_0_0_r1.Upstream(), "1.0.0");
109 EXPECT_EQ(e1_v1_0_0_r1.Epoch(), 1);
110 EXPECT_EQ(e1_v1_0_0_r1.Revision(), "1");
111
112 EXPECT_EQ(e1_v1_0_1_r1.Upstream(), "1.0.1");
113 EXPECT_EQ(e1_v1_0_1_r1.Epoch(), 1);
114 EXPECT_EQ(e1_v1_0_1_r1.Revision(), "1");
115
116 EXPECT_EQ(e1_v1_0_0_r2.Upstream(), "1.0.0");
117 EXPECT_EQ(e1_v1_0_0_r2.Epoch(), 1);
118 EXPECT_EQ(e1_v1_0_0_r2.Revision(), "2");
119
120 EXPECT_EQ(v1_0_0_beta.Upstream(), "1.0.0~beta");
121 EXPECT_EQ(v1_0_0_beta.Epoch(), 0);
122 EXPECT_TRUE(v1_0_0_beta.Revision().empty());
123
124 EXPECT_EQ(v1_0_0_alpha.Upstream(), "1.0.0~alpha");
125 EXPECT_EQ(v1_0_0_alpha.Epoch(), 0);
126 EXPECT_TRUE(v1_0_0_alpha.Revision().empty());
127
128 EXPECT_EQ(v1_0_0_alpha2.Upstream(), "1.0.0~alpha2");
129 EXPECT_EQ(v1_0_0_alpha2.Epoch(), 0);
130 EXPECT_TRUE(v1_0_0_alpha2.Revision().empty());
131
132 EXPECT_EQ(v1_0_0_alpha3.Upstream(), "1.0.0~alpha3");
133 EXPECT_EQ(v1_0_0_alpha3.Epoch(), 0);
134 EXPECT_TRUE(v1_0_0_alpha3.Revision().empty());
135
136 EXPECT_EQ(v1_0_0_alpha10.Upstream(), "1.0.0~alpha10");
137 EXPECT_EQ(v1_0_0_alpha10.Epoch(), 0);
138 EXPECT_TRUE(v1_0_0_alpha10.Revision().empty());
139}
140
141TEST_F(TestAddonVersion, asString)
142{
143 EXPECT_EQ(v1_0.asString(), "1.0");
144 EXPECT_EQ(v1_00.asString(), "1.00");
145 EXPECT_EQ(v1_0_0.asString(), "1.0.0");
146 EXPECT_EQ(v1_1.asString(), "1.1");
147 EXPECT_EQ(v1_01.asString(), "1.01");
148 EXPECT_EQ(v1_0_1.asString(), "1.0.1");
149 EXPECT_EQ(e1_v1_0_0.asString(), "1:1.0.0");
150 EXPECT_EQ(e1_v1_0_1.asString(), "1:1.0.1");
151 EXPECT_EQ(e2_v1_0_0.asString(), "2:1.0.0");
152 EXPECT_EQ(e1_v1_0_0_r1.asString(), "1:1.0.0-1");
153 EXPECT_EQ(e1_v1_0_1_r1.asString(), "1:1.0.1-1");
154 EXPECT_EQ(e1_v1_0_0_r2.asString(), "1:1.0.0-2");
155 EXPECT_EQ(v1_0_0_beta.asString(), "1.0.0~beta");
156 EXPECT_EQ(v1_0_0_alpha.asString(), "1.0.0~alpha");
157 EXPECT_EQ(v1_0_0_alpha2.asString(), "1.0.0~alpha2");
158 EXPECT_EQ(v1_0_0_alpha3.asString(), "1.0.0~alpha3");
159 EXPECT_EQ(v1_0_0_alpha10.asString(), "1.0.0~alpha10");
160}
161
162TEST_F(TestAddonVersion, Equals)
163{
164 EXPECT_EQ(v1_0, AddonVersion("1.0"));
165 EXPECT_EQ(v1_00, AddonVersion("1.00"));
166 EXPECT_EQ(v1_0_0, AddonVersion("1.0.0"));
167 EXPECT_EQ(v1_1, AddonVersion("1.1"));
168 EXPECT_EQ(v1_01, AddonVersion("1.01"));
169 EXPECT_EQ(v1_0_1, AddonVersion("1.0.1"));
170 EXPECT_EQ(e1_v1_0_0, AddonVersion("1:1.0.0"));
171 EXPECT_EQ(e1_v1_0_1, AddonVersion("1:1.0.1"));
172 EXPECT_EQ(e2_v1_0_0, AddonVersion("2:1.0.0"));
173 EXPECT_EQ(e1_v1_0_0_r1, AddonVersion("1:1.0.0-1"));
174 EXPECT_EQ(e1_v1_0_1_r1, AddonVersion("1:1.0.1-1"));
175 EXPECT_EQ(e1_v1_0_0_r2, AddonVersion("1:1.0.0-2"));
176 EXPECT_EQ(v1_0_0_beta, AddonVersion("1.0.0~beta"));
177 EXPECT_EQ(v1_0_0_alpha, AddonVersion("1.0.0~alpha"));
178 EXPECT_EQ(v1_0_0_alpha2, AddonVersion("1.0.0~alpha2"));
179 EXPECT_EQ(v1_0_0_alpha3, AddonVersion("1.0.0~alpha3"));
180 EXPECT_EQ(v1_0_0_alpha10, AddonVersion("1.0.0~alpha10"));
181}
182
183TEST_F(TestAddonVersion, Equivalent)
184{
185 EXPECT_FALSE(v1_0 != v1_00);
186 EXPECT_FALSE(v1_0 < v1_00);
187 EXPECT_FALSE(v1_0 > v1_00);
188 EXPECT_TRUE(v1_0 == v1_00);
189
190 EXPECT_FALSE(v1_01 != v1_1);
191 EXPECT_FALSE(v1_01 < v1_1);
192 EXPECT_FALSE(v1_01 > v1_1);
193 EXPECT_TRUE(v1_01 == v1_1);
194}
195
196TEST_F(TestAddonVersion, LessThan)
197{
198 EXPECT_LT(v1_0, v1_0_0);
199 EXPECT_LT(v1_0, v1_1);
200 EXPECT_LT(v1_0, v1_01);
201 EXPECT_LT(v1_0, v1_0_1);
202
203 EXPECT_LT(v1_00, v1_0_0);
204 EXPECT_LT(v1_00, v1_1);
205 EXPECT_LT(v1_00, v1_01);
206 EXPECT_LT(v1_00, v1_0_1);
207
208 EXPECT_LT(v1_0_0, v1_1);
209 EXPECT_LT(v1_0_0, v1_01);
210 EXPECT_LT(v1_0_0, v1_0_1);
211
212 EXPECT_LT(v1_0_1, v1_01);
213 EXPECT_LT(v1_0_1, v1_1);
214
215 // epochs
216 EXPECT_LT(v1_0_0, e1_v1_0_0);
217 EXPECT_LT(v1_0_0, e1_v1_0_1);
218 EXPECT_LT(v1_0_0, e2_v1_0_0);
219 EXPECT_LT(v1_0_1, e1_v1_0_1);
220 EXPECT_LT(v1_0_1, e2_v1_0_0);
221
222 EXPECT_LT(e1_v1_0_0, e1_v1_0_1);
223 EXPECT_LT(e1_v1_0_0, e2_v1_0_0);
224 EXPECT_LT(e1_v1_0_1, e2_v1_0_0);
225
226 // revisions
227 EXPECT_LT(e1_v1_0_0, e1_v1_0_0_r1);
228 EXPECT_LT(e1_v1_0_0, e1_v1_0_1_r1);
229 EXPECT_LT(e1_v1_0_0, e1_v1_0_0_r2);
230 EXPECT_LT(e1_v1_0_1, e1_v1_0_1_r1);
231 EXPECT_LT(e1_v1_0_0_r1, e1_v1_0_1);
232 EXPECT_LT(e1_v1_0_0_r1, e1_v1_0_1_r1);
233 EXPECT_LT(e1_v1_0_0_r1, e1_v1_0_0_r2);
234 EXPECT_LT(e1_v1_0_0_r2, e1_v1_0_1);
235 EXPECT_LT(e1_v1_0_0_r2, e1_v1_0_1_r1);
236 EXPECT_LT(e1_v1_0_1_r1, e2_v1_0_0);
237
238 // alpha, beta
239 EXPECT_LT(v1_0_0_beta, v1_0_0);
240 EXPECT_LT(v1_0_0_alpha, v1_0_0);
241 EXPECT_LT(v1_0_0_alpha, v1_0_0_beta);
242 EXPECT_LT(v1_0_0_alpha, v1_0_0_alpha2);
243 EXPECT_LT(v1_0_0_alpha, v1_0_0_alpha3);
244 EXPECT_LT(v1_0_0_alpha, v1_0_0_alpha10);
245 EXPECT_LT(v1_0_0_alpha2, v1_0_0);
246 EXPECT_LT(v1_0_0_alpha2, v1_0_0_beta);
247 EXPECT_LT(v1_0_0_alpha2, v1_0_0_alpha3);
248 EXPECT_LT(v1_0_0_alpha2, v1_0_0_alpha10);
249 EXPECT_LT(v1_0_0_alpha3, v1_0_0);
250 EXPECT_LT(v1_0_0_alpha3, v1_0_0_beta);
251 EXPECT_LT(v1_0_0_alpha3, v1_0_0_alpha10);
252 EXPECT_LT(v1_0_0_alpha10, v1_0_0);
253 EXPECT_LT(v1_0_0_alpha10, v1_0_0_beta);
254}