Directory: | ./ |
---|---|
File: | tmp_project/PhoenixToml/TESTS/TEST_PARSER_TOML/main.cpp |
Date: | 2025-03-14 12:18:05 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 191 | 191 | 100.0% |
Branches: | 483 | 485 | 99.6% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | |||
2 | /*************************************** | ||
3 | Auteur : Pierre Aubert | ||
4 | Mail : pierre.aubert@lapp.in2p3.fr | ||
5 | Licence : CeCILL-C | ||
6 | ****************************************/ | ||
7 | |||
8 | #include "phoenix_assert.h" | ||
9 | #include "parser_toml.h" | ||
10 | |||
11 | ///Check the value of a DicoValue | ||
12 | /** @param mapKey : DicoValue to be checked | ||
13 | * @param expectedValue : expected value | ||
14 | * @return true if the value matches the expectedValue, false otherwise | ||
15 | */ | ||
16 | 18 | bool checkKeyMapValue(const DicoValue * mapKey, const PString & expectedValue){ | |
17 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 17 times.
|
18 | if(mapKey == NULL){ |
18 | 1 | std::cout << "checkKeyMapValue : map NULL for expectedValue = '"<<expectedValue<<"'" << std::endl; | |
19 | 1 | return expectedValue == ""; | |
20 | } | ||
21 | // std::cout << "checkKeyMapValue : map '"<<mapKey->getKey()<<"' => '"<<mapKey->getValue()<<"', expectedValue = '"<<expectedValue<<"'" << std::endl; | ||
22 | 17 | bool b(mapKey->getValue() == expectedValue); | |
23 | // std::cout << "checkKeyMapValue : b = " << b << std::endl; | ||
24 | 17 | return b; | |
25 | } | ||
26 | |||
27 | ///Check the value of a DicoValue | ||
28 | /** @param mapKey : DicoValue to be checked | ||
29 | * @param expectedValue : expected value | ||
30 | * @return true if the value matches the expectedValue, false otherwise | ||
31 | */ | ||
32 | 3 | bool checkKeyMapVecValue(const DicoValue * mapKey, const PVecString & vecExpectedValue){ | |
33 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
|
3 | if(mapKey == NULL){ |
34 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | std::cout << "checkKeyMapVecValue : map NULL for vecExpectedValue = " << std::endl; |
35 | // phoenix_print(vecExpectedValue); | ||
36 | 1 | return vecExpectedValue.size() == 0lu; | |
37 | } | ||
38 | // std::cout << "checkKeyMapVecValue : map '"<<mapKey->getKey()<<"' => '"<<mapKey->getValue()<<"', vecExpectedValue = " << std::endl; | ||
39 | // phoenix_print(vecExpectedValue); | ||
40 | 2 | bool b(true); | |
41 |
1/1✓ Branch 1 taken 2 times.
|
2 | const VecDicoValue & vecValue = mapKey->getVecChild(); |
42 | 2 | b &= vecValue.size() == vecExpectedValue.size(); | |
43 | // std::cout << "checkKeyMapVecValue : vecValue.size() = " << vecValue.size() << ", vecExpectedValue.size() = "<< vecExpectedValue.size() << ", isOk = " << b << std::endl; | ||
44 | 2 | VecDicoValue::const_iterator it(vecValue.begin()); | |
45 | 2 | PVecString::const_iterator itRef(vecExpectedValue.begin()); | |
46 |
6/8✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 4 taken 7 times.
✓ Branch 5 taken 2 times.
✓ Branch 8 taken 7 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 7 times.
✓ Branch 11 taken 2 times.
|
9 | while(b && it != vecValue.end() && itRef != vecExpectedValue.end()){ |
47 |
1/1✓ Branch 3 taken 7 times.
|
7 | b &= it->getValue() == *itRef; |
48 |
8/8✓ Branch 1 taken 7 times.
✓ Branch 5 taken 7 times.
✓ Branch 8 taken 7 times.
✓ Branch 11 taken 7 times.
✓ Branch 15 taken 7 times.
✓ Branch 18 taken 7 times.
✓ Branch 21 taken 7 times.
✓ Branch 24 taken 7 times.
|
7 | std::cout << "\tvalue = '" << it->getValue() << "', reference = '"<< *itRef << "', isOk = " << b << std::endl; |
49 | 7 | ++it; | |
50 | 7 | ++itRef; | |
51 | } | ||
52 | // std::cout << "checkKeyMapVecValue : b = " << b << std::endl; | ||
53 | 2 | return b; | |
54 | } | ||
55 | |||
56 | ///Call the check value with NULL pointers | ||
57 | 1 | void testCheckValue(){ | |
58 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | checkKeyMapValue(NULL, ""); |
59 | 1 | PVecString vecNoValue; | |
60 |
1/1✓ Branch 1 taken 1 times.
|
1 | checkKeyMapVecValue(NULL, vecNoValue); |
61 | 1 | } | |
62 | |||
63 | ///Check the YML parser | ||
64 | 1 | void checkParserToml(){ | |
65 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[package]\nname = \"hello_hdf5\"\ndescription = \"some string in double quotes\"\nenable_option = true\ndisable_option = false\n\n"); |
66 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test.toml"); |
67 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
68 | |||
69 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
70 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
71 | // std::cout << "checkParserToml : output DicoValue :" << std::endl; | ||
72 | // dico.print(); | ||
73 | |||
74 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackage = dico.getMap("package"); |
75 | // bool isKeyExist = mapPackage != NULL; | ||
76 | // std::cout << "checkParserToml : isKeyExist = " << isKeyExist << std::endl; | ||
77 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackageName = mapPackage->getMap("name"); |
78 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapPackageName, "\"hello_hdf5\"")); |
79 | |||
80 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 26 taken 1 times.
|
1 | phoenix_assert(phoenix_get_string(*mapPackage, "name", "SomeVar", "") == "hello_hdf5"); |
81 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 26 taken 1 times.
|
1 | phoenix_assert(phoenix_get_string(*mapPackage, "undefined_var", "SomeVar", "") == "SomeVar"); |
82 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 26 taken 1 times.
|
1 | phoenix_assert(phoenix_get_string(*mapPackage, "undefined_var", "", "SomeVar") == "SomeVar"); |
83 |
7/7✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 23 taken 1 times.
|
1 | phoenix_assert(phoenix_get_string(*mapPackage, "undefined_var", "SomeVar") == "SomeVar"); |
84 | |||
85 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackageEnableOption = mapPackage->getMap("enable_option"); |
86 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapPackageEnableOption, "true")); |
87 | |||
88 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackageDisableOption = mapPackage->getMap("disable_option"); |
89 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapPackageDisableOption, "false")); |
90 | 1 | } | |
91 | |||
92 | ///Check the embeded dico | ||
93 | 1 | void checkTomlList(){ | |
94 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[package]\nname = \"hello_hdf5\"\ndescription = 'some string in simple quotes'\nsome_list = [\"one\", \"two\", \"three\"]\nlist_value = [1, 2, 3, 4]\n\n[dependencies]\nhdf5 = \"0.8.1\"\nndarray = '0.15.6'\n\n"); |
95 | |||
96 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test_toml_list.toml"); |
97 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
98 | |||
99 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
100 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
101 | // std::cout << "checkTomlList : output DicoValue :" << std::endl; | ||
102 | // dico.print(); | ||
103 | |||
104 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackage = dico.getMap("package"); |
105 | // bool isKeyExist = mapPackage != NULL; | ||
106 | // std::cout << "checkTomlList : isKeyExist = " << isKeyExist << std::endl; | ||
107 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackageName = mapPackage->getMap("name"); |
108 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapPackageName, "\"hello_hdf5\"")); |
109 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackageDescription = mapPackage->getMap("description"); |
110 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapPackageDescription, "'some string in simple quotes'")); |
111 | |||
112 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapSomeListKey = mapPackage->getMap("some_list"); |
113 | // bool isSomeListExist = mapSomeListKey != NULL; | ||
114 | // std::cout << "checkTomlList : isSomeListExist = " << isSomeListExist << std::endl; | ||
115 | |||
116 | 1 | PVecString vecExpectedValue; | |
117 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecExpectedValue.push_back("\"one\""); |
118 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecExpectedValue.push_back("\"two\""); |
119 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecExpectedValue.push_back("\"three\""); |
120 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(checkKeyMapVecValue(mapSomeListKey, vecExpectedValue)); |
121 | |||
122 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapOtherListKey = mapPackage->getMap("list_value"); |
123 | // bool isOtherListExist = mapOtherListKey != NULL; | ||
124 | // std::cout << "checkTomlList : isOtherListExist = " << isOtherListExist << std::endl; | ||
125 | |||
126 | 1 | PVecString vecOtherExpectedValue; | |
127 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecOtherExpectedValue.push_back("1"); |
128 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecOtherExpectedValue.push_back("2"); |
129 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecOtherExpectedValue.push_back("3"); |
130 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | vecOtherExpectedValue.push_back("4"); |
131 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(checkKeyMapVecValue(mapOtherListKey, vecOtherExpectedValue)); |
132 | |||
133 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapDependencies = dico.getMap("dependencies"); |
134 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapDependenciesHdf5 = mapDependencies->getMap("hdf5"); |
135 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapDependenciesHdf5, "\"0.8.1\"")); |
136 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapDependenciesNdarray = mapDependencies->getMap("ndarray"); |
137 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapDependenciesNdarray, "'0.15.6'")); |
138 | 1 | } | |
139 | |||
140 | ///Check the embeded dico | ||
141 | 1 | void checkTomlEmptyList(){ | |
142 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[package]\nsome_list = []\n\n"); |
143 | |||
144 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test_toml_empty_list.toml"); |
145 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
146 | |||
147 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
148 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
149 | // std::cout << "checkTomlEmptyList : output DicoValue :" << std::endl; | ||
150 | // dico.print(); | ||
151 | |||
152 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackage = dico.getMap("package"); |
153 | // bool isKeyExist = mapPackage != NULL; | ||
154 | // std::cout << "checkTomlEmptyList : isKeyExist = " << isKeyExist << std::endl; | ||
155 | |||
156 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapSomeListKey = mapPackage->getMap("some_list"); |
157 | // bool isSomeListExist = mapSomeListKey != NULL; | ||
158 | // std::cout << "checkTomlEmptyList : isSomeListExist = " << isSomeListExist << std::endl; | ||
159 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 17 taken 1 times.
|
1 | phoenix_assert(mapSomeListKey->getVecChild().size() == 0lu); |
160 | 1 | } | |
161 | |||
162 | |||
163 | ///Check the embeded dico | ||
164 | 1 | void checkTomNestedlList(){ | |
165 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[package]\nsome_nested_list = [1, 2, [3, 4]]\n\n"); |
166 | |||
167 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test_toml_nested_list.toml"); |
168 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
169 | |||
170 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
171 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
172 | // std::cout << "checkTomlNestedList : output DicoValue :" << std::endl; | ||
173 | // dico.print(); | ||
174 | |||
175 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapPackage = dico.getMap("package"); |
176 | // bool isKeyExist = mapPackage != NULL; | ||
177 | // std::cout << "checkTomlNestedList : isKeyExist = " << isKeyExist << std::endl; | ||
178 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapOtherListKey = mapPackage->getMap("some_nested_list"); |
179 | // bool isOtherListExist = mapOtherListKey != NULL; | ||
180 | // std::cout << "checkTomlNestedList : isOtherListExist = " << isOtherListExist << std::endl; | ||
181 | |||
182 |
1/1✓ Branch 1 taken 1 times.
|
1 | const VecDicoValue & vecValue = mapOtherListKey->getVecChild(); |
183 |
4/4✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
|
1 | phoenix_assert(vecValue.size() == 3lu); |
184 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
✓ Branch 18 taken 1 times.
|
1 | phoenix_assert(vecValue[0].getValue() == "1"); |
185 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
✓ Branch 18 taken 1 times.
|
1 | phoenix_assert(vecValue[1].getValue() == "2"); |
186 | |||
187 | 1 | const DicoValue & subList = vecValue[2]; | |
188 |
1/1✓ Branch 1 taken 1 times.
|
1 | const VecDicoValue & vecSubValue = subList.getVecChild(); |
189 |
4/4✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
|
1 | phoenix_assert(vecSubValue.size() == 2lu); |
190 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
✓ Branch 18 taken 1 times.
|
1 | phoenix_assert(vecSubValue[0].getValue() == "3"); |
191 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
✓ Branch 18 taken 1 times.
|
1 | phoenix_assert(vecSubValue[1].getValue() == "4"); |
192 | 1 | } | |
193 | |||
194 | |||
195 | ///Check the embeded dico | ||
196 | 1 | void checkTomNestedlMap(){ | |
197 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[first.second]\nsome_value = 42\n\n"); |
198 | |||
199 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test_toml_nested_map.toml"); |
200 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
201 | |||
202 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
203 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
204 | // std::cout << "checkTomNestedlMap : output DicoValue :" << std::endl; | ||
205 | // dico.print(); | ||
206 | |||
207 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapFirst = dico.getMap("first"); |
208 | // bool isKeyExist = mapFirst != NULL; | ||
209 | // std::cout << "checkTomNestedlMap : isKeyExist = " << isKeyExist << std::endl; | ||
210 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapSecond = mapFirst->getMap("second"); |
211 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapOtherListKey = mapSecond->getMap("some_value"); |
212 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapOtherListKey, "42")); |
213 | 1 | } | |
214 | |||
215 | ///Check the embeded dico | ||
216 | 1 | void checkTomTable(){ | |
217 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[[program]]\nname = \"shadok\"\nage = 42\n\n[[program]]\nname = \"gibi\"\nage = 23\n\n"); |
218 | |||
219 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test_toml_table.toml"); |
220 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
221 | |||
222 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
223 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
224 | // std::cout << "checkTomTable : output DicoValue :" << std::endl; | ||
225 | // dico.print(); | ||
226 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapProgram = dico.getMap("program"); |
227 | // bool isKeyExist = mapProgram != NULL; | ||
228 | // std::cout << "checkTomTable : isKeyExist = " << isKeyExist << std::endl; | ||
229 |
1/1✓ Branch 1 taken 1 times.
|
1 | const VecDicoValue & vecProgramValue = mapProgram->getVecChild(); |
230 |
4/4✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 14 taken 1 times.
|
1 | phoenix_assert(vecProgramValue.size() == 2lu); |
231 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | const DicoValue * mapProgram0Name = vecProgramValue[0].getMap("name"); |
232 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapProgram0Name, "\"shadok\"")); |
233 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | const DicoValue * mapProgram0Age = vecProgramValue[0].getMap("age"); |
234 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapProgram0Age, "42")); |
235 | |||
236 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | const DicoValue * mapProgram1Name = vecProgramValue[1].getMap("name"); |
237 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapProgram1Name, "\"gibi\"")); |
238 |
2/2✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
|
1 | const DicoValue * mapProgram1Age = vecProgramValue[1].getMap("age"); |
239 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapProgram1Age, "23")); |
240 | 1 | } | |
241 | |||
242 | ///Check the compact dico | ||
243 | 1 | void checkTomlCompactDico(){ | |
244 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[program]\nname = {url = \"someUrl\"}\nage = 42\n\n"); |
245 | |||
246 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test_toml_compact_dico.toml"); |
247 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
248 | |||
249 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
250 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
251 | // std::cout << "checkTomlCompactDico : output DicoValue :" << std::endl; | ||
252 | // dico.print(); | ||
253 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapProgram = dico.getMap("program"); |
254 | // bool isKeyExist = mapProgram != NULL; | ||
255 | // std::cout << "checkTomlCompactDico : isKeyExist = " << isKeyExist << std::endl; | ||
256 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | const DicoValue * mapName = mapProgram->getMap("name"); |
257 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | const DicoValue * mapNameUrl = mapName->getMap("url"); |
258 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapNameUrl, "\"someUrl\"")); |
259 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | const DicoValue * mapAge = mapProgram->getMap("age"); |
260 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapAge, "42")); |
261 | 1 | } | |
262 | |||
263 | ///Check the compact dico | ||
264 | 1 | void checkTomlCompactDico2(){ | |
265 |
1/1✓ Branch 1 taken 1 times.
|
1 | PString fileContent("[program]\nname = {url = \"someUrl\",\n#Some comment\n version = \"1.0.0\"}\n# Some Comment\nage = 42\nemptyDico = {}\n\n"); |
266 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | PPath tomlFile("test_toml_compact_dico.toml"); |
267 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(tomlFile.saveFileContent(fileContent)); |
268 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
269 |
5/5✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
|
1 | phoenix_assert(parser_toml(dico, tomlFile)); |
270 | // std::cout << "checkTomlCompactDico : output DicoValue :" << std::endl; | ||
271 | // dico.print(); | ||
272 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | DicoValue * mapProgram = dico.getMap("program"); |
273 | // bool isKeyExist = mapProgram != NULL; | ||
274 | // std::cout << "checkTomlCompactDico : isKeyExist = " << isKeyExist << std::endl; | ||
275 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | const DicoValue * mapName = mapProgram->getMap("name"); |
276 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | const DicoValue * mapNameUrl = mapName->getMap("url"); |
277 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapNameUrl, "\"someUrl\"")); |
278 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | const DicoValue * mapNameVersion = mapName->getMap("version"); |
279 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapNameVersion, "\"1.0.0\"")); |
280 |
2/2✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
|
1 | const DicoValue * mapAge = mapProgram->getMap("age"); |
281 |
6/6✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
|
1 | phoenix_assert(checkKeyMapValue(mapAge, "42")); |
282 | 1 | } | |
283 | |||
284 | ///Check if the parsing of a file is OK | ||
285 | /** @param fileName : name of the file to be created | ||
286 | * @param fileContent : content of the file | ||
287 | * @return true on success, false otherwise | ||
288 | */ | ||
289 | 9 | bool checkIsParserOk(const PPath & fileName, const PString & fileContent){ | |
290 | 9 | bool b(true); | |
291 |
1/1✓ Branch 1 taken 9 times.
|
9 | b &= fileName.saveFileContent(fileContent); |
292 |
1/1✓ Branch 1 taken 9 times.
|
9 | DicoValue dico; |
293 |
1/1✓ Branch 1 taken 9 times.
|
9 | b &= parser_toml(dico, fileName); |
294 | 9 | return b; | |
295 | 9 | } | |
296 | |||
297 | ///Check the YML parser | ||
298 | 1 | void checkParserTomlFail(){ | |
299 |
1/1✓ Branch 1 taken 1 times.
|
1 | DicoValue dico; |
300 |
7/7✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
|
1 | phoenix_assert(!parser_toml(dico, PString("UnexsitingFileName.toml"))); |
301 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(!checkIsParserOk(PString("unextected_token.toml"), "=\n")); |
302 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(!checkIsParserOk(PString("missing_equal_of_variable.toml"), "[package]\nvariable value\n")); |
303 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(!checkIsParserOk(PString("missing_value_of_variable.toml"), "[package]\nvariable =\n")); |
304 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(!checkIsParserOk(PString("unclosed_list.toml"), "[package]\nlist = [42\n")); |
305 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(!checkIsParserOk(PString("unclosed_empty_list.toml"), "[package]\nlist = [\n")); |
306 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(!checkIsParserOk(PString("unclosed_dico.toml"), "[package]\ndico = {name\n")); |
307 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(!checkIsParserOk(PString("unclosed_empty_dico.toml"), "[package]\ndico = {\n")); |
308 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(checkIsParserOk(PString("some_comment.toml"), "# Some value\n[package]\nvalue = 42\n")); |
309 |
8/8✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 19 taken 1 times.
✓ Branch 22 taken 1 times.
✓ Branch 25 taken 1 times.
|
1 | phoenix_assert(checkIsParserOk(PString("some_triple_double_quote_string.toml"), "# Some value\n[package]\nstrvalue = \"\"\"\nsome string\n\"\"\"\n")); |
310 | 1 | } | |
311 | |||
312 | 1 | int main(int argc, char** argv){ | |
313 | 1 | testCheckValue(); | |
314 | 1 | checkParserTomlFail(); | |
315 | 1 | checkParserToml(); | |
316 | 1 | checkTomlList(); | |
317 | 1 | checkTomlEmptyList(); | |
318 | 1 | checkTomNestedlList(); | |
319 | 1 | checkTomNestedlMap(); | |
320 | 1 | checkTomTable(); | |
321 | 1 | checkTomlCompactDico(); | |
322 | 1 | checkTomlCompactDico2(); | |
323 | 1 | return 0; | |
324 | } | ||
325 | |||
326 | |||
327 |