ssu
Loading...
Searching...
No Matches
variablestest.cpp
Go to the documentation of this file.
1
7
8#include "variablestest.h"
9
10void VariablesTest::initTestCase()
11{
12 variables.insert("packagesDomain", "packages.example.com");
13 variables.insert("releaseDomain", "releases.example.com");
14 variables.insert("rndProtocol", "https");
15 variables.insert("release", "devel");
16 variables.insert("arch", "armv8");
17 variables.insert("flavourName", "flavour");
18
19 urls.insert("http://%(packagesDomain)/releases/%(release)/jolla/%(arch)/",
20 "http://packages.example.com/releases/devel/jolla/armv8/");
21 urls.insert("%(rndProtocol)://%(releaseDomain)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
22 "https://releases.example.com/nemo/devel-flavour/platform/armv8/");
23 // test missing operator, which should fall back to just variable value
24 urls.insert("%(rndProtocol)://%(unsetDomain:)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
25 "https:///nemo/devel-flavour/platform/armv8/");
26 urls.insert("%(rndProtocol)://%(releaseDomain:)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
27 "https://releases.example.com/nemo/devel-flavour/platform/armv8/");
28 urls.insert("%(rndProtocol)://%(releaseDomain:unset.example.com)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
29 "https://releases.example.com/nemo/devel-flavour/platform/armv8/");
30 // check if :- works
31 urls.insert("%(rndProtocol)://%(releaseDomain:-unset.example.com)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
32 "https://releases.example.com/nemo/devel-flavour/platform/armv8/");
33 urls.insert("%(rndProtocol)://%(unsetDomain:-unset.example.com)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
34 "https://unset.example.com/nemo/devel-flavour/platform/armv8/");
35 // test with empty replacement pattern
36 urls.insert("%(rndProtocol)://%(unsetDomain:-)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
37 "https:///nemo/devel-flavour/platform/armv8/");
38 // check if :+ works
39 // substitution of variable with set.example.com
40 urls.insert("%(rndProtocol)://%(releaseDomain:+set.example.com)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
41 "https://set.example.com/nemo/devel-flavour/platform/armv8/");
42 // substitution of variable with variable + /set
43 urls.insert("%(rndProtocol)://%(releaseDomain:+%(releaseDomain)/set)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
44 "https://releases.example.com/set/nemo/devel-flavour/platform/armv8/");
45 // substitution of variable with empty variable + /set -- should substitute to ""
46 urls.insert("%(rndProtocol)://%(unsetDomain:+%(unsetDomain)/set)/nemo/%(release)-%(flavourName)/platform/%(arch)/",
47 "https:///nemo/devel-flavour/platform/armv8/");
48 // test :=
49 urls.insert("%(%(rndProtocol):=https?https://%(releaseDomain)/%(release)-%(flavourName)|http://%(releaseDomain)/%(release)-%(flavourName))",
50 "https://releases.example.com/devel-flavour");
51 urls.insert("%(%(rndProtocol):=http?https://%(releaseDomain)/%(release)-%(flavourName)|http://%(releaseDomain)/%(release)-%(flavourName))",
52 "http://releases.example.com/devel-flavour");
53
54}
55
56void VariablesTest::cleanupTestCase()
57{
58
59}
60
61void VariablesTest::checkResolveString()
62{
63 QHashIterator<QString, QString> i(urls);
64
65 while (i.hasNext()) {
66 i.next();
67 QString result = var.resolveString(i.key(), &variables);
68 qDebug() << i.key() << " resolved to " << result;
69 QCOMPARE(result, i.value());
70 }
71}