GCC Code Coverage Report


Directory: ./
File: TESTS/TEST_CONFIG_NODE_TOML/main.cpp
Date: 2026-04-08 18:06:43
Exec Total Coverage
Lines: 238 238 100.0%
Functions: 16 16 100.0%
Branches: 660 662 99.7%

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 "phoenix_check.h"
10 #include "parser_toml.h"
11
12 ///Check the value of a ConfigNode
13 /** @param mapKey : ConfigNode to be checked
14 * @param expectedValue : expected value
15 * @return true if the value matches the expectedValue, false otherwise
16 */
17 27 bool checkKeyMapValue(const ConfigNode * mapKey, const PString & expectedValue){
18
2/2
✓ Branch 0 (2→3) taken 1 times.
✓ Branch 1 (2→9) taken 26 times.
27 if(mapKey == NULL){
19 1 std::cout << "checkKeyMapValue : map NULL for expectedValue = '"<<expectedValue<<"'" << std::endl;
20 1 return expectedValue == "";
21 }
22 // std::cout << "checkKeyMapValue : map '"<<mapKey->getKey()<<"' => '"<<mapKey->getValue()<<"', expectedValue = '"<<expectedValue<<"'" << std::endl;
23 26 bool b(mapKey->getValue() == expectedValue);
24 // std::cout << "checkKeyMapValue : b = " << b << std::endl;
25 26 return b;
26 }
27
28 ///Check the value of a ConfigNode
29 /** @param mapKey : ConfigNode to be checked
30 * @param expectedValue : expected value
31 * @return true if the value matches the expectedValue, false otherwise
32 */
33 3 bool checkKeyMapVecValue(const ConfigNode * mapKey, const PVecString & vecExpectedValue){
34
2/2
✓ Branch 0 (2→3) taken 1 times.
✓ Branch 1 (2→7) taken 2 times.
3 if(mapKey == NULL){
35
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 std::cout << "checkKeyMapVecValue : map NULL for vecExpectedValue = " << std::endl;
36 // phoenix_print(vecExpectedValue);
37 1 return vecExpectedValue.size() == 0lu;
38 }
39 // std::cout << "checkKeyMapVecValue : map '"<<mapKey->getKey()<<"' => '"<<mapKey->getValue()<<"', vecExpectedValue = " << std::endl;
40 // phoenix_print(vecExpectedValue);
41 2 bool b(true);
42
1/1
✓ Branch 0 (7→8) taken 2 times.
2 const VecConfigNode & vecValue = mapKey->getVecChild();
43 2 b &= vecValue.size() == vecExpectedValue.size();
44 // std::cout << "checkKeyMapVecValue : vecValue.size() = " << vecValue.size() << ", vecExpectedValue.size() = "<< vecExpectedValue.size() << ", isOk = " << b << std::endl;
45 2 VecConfigNode::const_iterator it(vecValue.begin());
46 2 PVecString::const_iterator itRef(vecExpectedValue.begin());
47
6/8
✓ Branch 0 (36→37) taken 9 times.
✗ Branch 1 (36→54) not taken.
✓ Branch 2 (44→45) taken 7 times.
✓ Branch 3 (44→54) taken 2 times.
✓ Branch 4 (52→53) taken 7 times.
✗ Branch 5 (52→54) not taken.
✓ Branch 6 (55→13) taken 7 times.
✓ Branch 7 (55→56) taken 2 times.
25 while(b && it != vecValue.end() && itRef != vecExpectedValue.end()){
48
1/1
✓ Branch 0 (15→16) taken 7 times.
14 b &= (*it)->getValue() == *itRef;
49
8/8
✓ Branch 0 (19→20) taken 7 times.
✓ Branch 2 (22→23) taken 7 times.
✓ Branch 4 (23→24) taken 7 times.
✓ Branch 6 (24→25) taken 7 times.
✓ Branch 8 (27→28) taken 7 times.
✓ Branch 10 (28→29) taken 7 times.
✓ Branch 12 (29→30) taken 7 times.
✓ Branch 14 (30→31) taken 7 times.
21 std::cout << "\tvalue = '" << (*it)->getValue() << "', reference = '"<< *itRef << "', isOk = " << b << std::endl;
50 ++it;
51 ++itRef;
52 }
53 // std::cout << "checkKeyMapVecValue : b = " << b << std::endl;
54 2 return b;
55 }
56
57 ///Call the check value with NULL pointers
58 1 void testCheckValue(){
59
2/2
✓ Branch 0 (2→3) taken 1 times.
✓ Branch 2 (3→4) taken 1 times.
1 checkKeyMapValue(NULL, "");
60 1 PVecString vecNoValue;
61
1/1
✓ Branch 0 (6→7) taken 1 times.
1 checkKeyMapVecValue(NULL, vecNoValue);
62 1 }
63
64 ///Chech a variable parsing in toml
65 1 void checkParserTomlVar(){
66
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("name = \"value\"\n\n");
67
1/1
✓ Branch 0 (3→4) taken 1 times.
1 ConfigNode dico;
68
5/5
✓ Branch 0 (4→5) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
✓ Branch 4 (10→11) taken 1 times.
✓ Branch 6 (13→14) taken 1 times.
✓ Branch 8 (14→15) taken 1 times.
7 phoenix_assert(parser_tomlString(dico, fileContent));
69
10/10
✓ Branch 0 (23→24) taken 1 times.
✓ Branch 2 (24→25) taken 1 times.
✓ Branch 4 (25→26) taken 1 times.
✓ Branch 6 (26→27) taken 1 times.
✓ Branch 8 (29→30) taken 1 times.
✓ Branch 10 (30→31) taken 1 times.
✓ Branch 12 (33→34) taken 1 times.
✓ Branch 14 (36→37) taken 1 times.
✓ Branch 16 (39→40) taken 1 times.
✓ Branch 18 (40→41) taken 1 times.
9 phoenix_assert(phoenix_check("simple var", phoenix_get_string(dico, "name", ""), "value"));
70 1 }
71
72 ///Check the TOML parser
73 1 void checkParserToml(){
74
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("[package]\nname = \"hello_hdf5\"\ndescription = \"some string in double quotes\"\nenable_option = true\ndisable_option = false\n\n");
75
1/1
✓ Branch 0 (3→4) taken 1 times.
1 ConfigNode dicoStr;
76
5/5
✓ Branch 0 (4→5) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
✓ Branch 4 (10→11) taken 1 times.
✓ Branch 6 (13→14) taken 1 times.
✓ Branch 8 (14→15) taken 1 times.
6 phoenix_assert(parser_tomlString(dicoStr, fileContent));
77
2/2
✓ Branch 0 (21→22) taken 1 times.
✓ Branch 2 (22→23) taken 1 times.
1 PPath tomlFile("test.toml");
78
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
79
80
1/1
✓ Branch 0 (41→42) taken 1 times.
1 ConfigNode dico;
81
5/5
✓ Branch 0 (42→43) taken 1 times.
✓ Branch 2 (45→46) taken 1 times.
✓ Branch 4 (48→49) taken 1 times.
✓ Branch 6 (51→52) taken 1 times.
✓ Branch 8 (52→53) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
82 // std::cout << "checkParserToml : output ConfigNode :" << std::endl;
83 // dico.print();
84
85
2/2
✓ Branch 0 (59→60) taken 1 times.
✓ Branch 2 (60→61) taken 1 times.
1 ConfigNode * mapPackage = dico.getChild("package");
86 // bool isKeyExist = mapPackage != NULL;
87 // std::cout << "checkParserToml : isKeyExist = " << isKeyExist << std::endl;
88
2/2
✓ Branch 0 (62→63) taken 1 times.
✓ Branch 2 (63→64) taken 1 times.
1 ConfigNode * mapPackageName = mapPackage->getChild("name");
89
6/6
✓ Branch 0 (65→66) taken 1 times.
✓ Branch 2 (66→67) taken 1 times.
✓ Branch 4 (69→70) taken 1 times.
✓ Branch 6 (72→73) taken 1 times.
✓ Branch 8 (75→76) taken 1 times.
✓ Branch 10 (76→77) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapPackageName, "\"hello_hdf5\""));
90
91
9/9
✓ Branch 0 (84→85) taken 1 times.
✓ Branch 2 (85→86) taken 1 times.
✓ Branch 4 (86→87) taken 1 times.
✓ Branch 6 (87→88) taken 1 times.
✓ Branch 8 (88→89) taken 1 times.
✓ Branch 10 (91→92) taken 1 times.
✓ Branch 12 (94→95) taken 1 times.
✓ Branch 14 (97→98) taken 1 times.
✓ Branch 16 (98→99) taken 1 times.
7 phoenix_assert(phoenix_get_string(*mapPackage, "name", "SomeVar", "") == "hello_hdf5");
92
9/9
✓ Branch 0 (109→110) taken 1 times.
✓ Branch 2 (110→111) taken 1 times.
✓ Branch 4 (111→112) taken 1 times.
✓ Branch 6 (112→113) taken 1 times.
✓ Branch 8 (113→114) taken 1 times.
✓ Branch 10 (116→117) taken 1 times.
✓ Branch 12 (119→120) taken 1 times.
✓ Branch 14 (122→123) taken 1 times.
✓ Branch 16 (123→124) taken 1 times.
7 phoenix_assert(phoenix_get_string(*mapPackage, "undefined_var", "SomeVar", "") == "SomeVar");
93
9/9
✓ Branch 0 (134→135) taken 1 times.
✓ Branch 2 (135→136) taken 1 times.
✓ Branch 4 (136→137) taken 1 times.
✓ Branch 6 (137→138) taken 1 times.
✓ Branch 8 (138→139) taken 1 times.
✓ Branch 10 (141→142) taken 1 times.
✓ Branch 12 (144→145) taken 1 times.
✓ Branch 14 (147→148) taken 1 times.
✓ Branch 16 (148→149) taken 1 times.
7 phoenix_assert(phoenix_get_string(*mapPackage, "undefined_var", "", "SomeVar") == "SomeVar");
94
8/8
✓ Branch 0 (159→160) taken 1 times.
✓ Branch 2 (160→161) taken 1 times.
✓ Branch 4 (161→162) taken 1 times.
✓ Branch 6 (162→163) taken 1 times.
✓ Branch 8 (165→166) taken 1 times.
✓ Branch 10 (168→169) taken 1 times.
✓ Branch 12 (171→172) taken 1 times.
✓ Branch 14 (172→173) taken 1 times.
7 phoenix_assert(phoenix_get_string(*mapPackage, "undefined_var", "SomeVar") == "SomeVar");
95
96
2/2
✓ Branch 0 (182→183) taken 1 times.
✓ Branch 2 (183→184) taken 1 times.
1 ConfigNode * mapPackageEnableOption = mapPackage->getChild("enable_option");
97
6/6
✓ Branch 0 (185→186) taken 1 times.
✓ Branch 2 (186→187) taken 1 times.
✓ Branch 4 (189→190) taken 1 times.
✓ Branch 6 (192→193) taken 1 times.
✓ Branch 8 (195→196) taken 1 times.
✓ Branch 10 (196→197) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapPackageEnableOption, "true"));
98
99
2/2
✓ Branch 0 (204→205) taken 1 times.
✓ Branch 2 (205→206) taken 1 times.
1 ConfigNode * mapPackageDisableOption = mapPackage->getChild("disable_option");
100
6/6
✓ Branch 0 (207→208) taken 1 times.
✓ Branch 2 (208→209) taken 1 times.
✓ Branch 4 (211→212) taken 1 times.
✓ Branch 6 (214→215) taken 1 times.
✓ Branch 8 (217→218) taken 1 times.
✓ Branch 10 (218→219) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapPackageDisableOption, "false"));
101 1 }
102
103 ///Check the embeded dico
104 1 void checkTomlList(){
105
1/1
✓ Branch 0 (2→3) 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");
106
107
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_list.toml");
108
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
109
110
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
111
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
112 // std::cout << "checkTomlList : output ConfigNode :" << std::endl;
113 // dico.print();
114
115
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapPackage = dico.getChild("package");
116 // bool isKeyExist = mapPackage != NULL;
117 // std::cout << "checkTomlList : isKeyExist = " << isKeyExist << std::endl;
118
2/2
✓ Branch 0 (44→45) taken 1 times.
✓ Branch 2 (45→46) taken 1 times.
1 ConfigNode * mapPackageName = mapPackage->getChild("name");
119
6/6
✓ Branch 0 (47→48) taken 1 times.
✓ Branch 2 (48→49) taken 1 times.
✓ Branch 4 (51→52) taken 1 times.
✓ Branch 6 (54→55) taken 1 times.
✓ Branch 8 (57→58) taken 1 times.
✓ Branch 10 (58→59) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapPackageName, "\"hello_hdf5\""));
120
2/2
✓ Branch 0 (66→67) taken 1 times.
✓ Branch 2 (67→68) taken 1 times.
1 ConfigNode * mapPackageDescription = mapPackage->getChild("description");
121
6/6
✓ Branch 0 (69→70) taken 1 times.
✓ Branch 2 (70→71) taken 1 times.
✓ Branch 4 (73→74) taken 1 times.
✓ Branch 6 (76→77) taken 1 times.
✓ Branch 8 (79→80) taken 1 times.
✓ Branch 10 (80→81) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapPackageDescription, "'some string in simple quotes'"));
122
123
2/2
✓ Branch 0 (88→89) taken 1 times.
✓ Branch 2 (89→90) taken 1 times.
1 ConfigNode * mapSomeListKey = mapPackage->getChild("some_list");
124 // bool isSomeListExist = mapSomeListKey != NULL;
125 // std::cout << "checkTomlList : isSomeListExist = " << isSomeListExist << std::endl;
126
127 1 PVecString vecExpectedValue;
128
2/2
✓ Branch 0 (92→93) taken 1 times.
✓ Branch 2 (93→94) taken 1 times.
1 vecExpectedValue.push_back("\"one\"");
129
2/2
✓ Branch 0 (95→96) taken 1 times.
✓ Branch 2 (96→97) taken 1 times.
1 vecExpectedValue.push_back("\"two\"");
130
2/2
✓ Branch 0 (98→99) taken 1 times.
✓ Branch 2 (99→100) taken 1 times.
1 vecExpectedValue.push_back("\"three\"");
131
5/5
✓ Branch 0 (101→102) taken 1 times.
✓ Branch 2 (104→105) taken 1 times.
✓ Branch 4 (107→108) taken 1 times.
✓ Branch 6 (110→111) taken 1 times.
✓ Branch 8 (111→112) taken 1 times.
6 phoenix_assert(checkKeyMapVecValue(mapSomeListKey, vecExpectedValue));
132
133
2/2
✓ Branch 0 (118→119) taken 1 times.
✓ Branch 2 (119→120) taken 1 times.
1 ConfigNode * mapOtherListKey = mapPackage->getChild("list_value");
134 // bool isOtherListExist = mapOtherListKey != NULL;
135 // std::cout << "checkTomlList : isOtherListExist = " << isOtherListExist << std::endl;
136
137 1 PVecString vecOtherExpectedValue;
138
2/2
✓ Branch 0 (122→123) taken 1 times.
✓ Branch 2 (123→124) taken 1 times.
1 vecOtherExpectedValue.push_back("1");
139
2/2
✓ Branch 0 (125→126) taken 1 times.
✓ Branch 2 (126→127) taken 1 times.
1 vecOtherExpectedValue.push_back("2");
140
2/2
✓ Branch 0 (128→129) taken 1 times.
✓ Branch 2 (129→130) taken 1 times.
1 vecOtherExpectedValue.push_back("3");
141
2/2
✓ Branch 0 (131→132) taken 1 times.
✓ Branch 2 (132→133) taken 1 times.
1 vecOtherExpectedValue.push_back("4");
142
5/5
✓ Branch 0 (134→135) taken 1 times.
✓ Branch 2 (137→138) taken 1 times.
✓ Branch 4 (140→141) taken 1 times.
✓ Branch 6 (143→144) taken 1 times.
✓ Branch 8 (144→145) taken 1 times.
6 phoenix_assert(checkKeyMapVecValue(mapOtherListKey, vecOtherExpectedValue));
143
144
2/2
✓ Branch 0 (151→152) taken 1 times.
✓ Branch 2 (152→153) taken 1 times.
1 ConfigNode * mapDependencies = dico.getChild("dependencies");
145
2/2
✓ Branch 0 (154→155) taken 1 times.
✓ Branch 2 (155→156) taken 1 times.
1 ConfigNode * mapDependenciesHdf5 = mapDependencies->getChild("hdf5");
146
6/6
✓ Branch 0 (157→158) taken 1 times.
✓ Branch 2 (158→159) taken 1 times.
✓ Branch 4 (161→162) taken 1 times.
✓ Branch 6 (164→165) taken 1 times.
✓ Branch 8 (167→168) taken 1 times.
✓ Branch 10 (168→169) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapDependenciesHdf5, "\"0.8.1\""));
147
2/2
✓ Branch 0 (176→177) taken 1 times.
✓ Branch 2 (177→178) taken 1 times.
1 ConfigNode * mapDependenciesNdarray = mapDependencies->getChild("ndarray");
148
6/6
✓ Branch 0 (179→180) taken 1 times.
✓ Branch 2 (180→181) taken 1 times.
✓ Branch 4 (183→184) taken 1 times.
✓ Branch 6 (186→187) taken 1 times.
✓ Branch 8 (189→190) taken 1 times.
✓ Branch 10 (190→191) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapDependenciesNdarray, "'0.15.6'"));
149 1 }
150
151 ///Check the embeded dico
152 1 void checkTomlEmptyList(){
153
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("[package]\nsome_list = []\n\n");
154
155
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_empty_list.toml");
156
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
157
158
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
159
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
160 // std::cout << "checkTomlEmptyList : output ConfigNode :" << std::endl;
161 // dico.print();
162
163
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapPackage = dico.getChild("package");
164 // bool isKeyExist = mapPackage != NULL;
165 // std::cout << "checkTomlEmptyList : isKeyExist = " << isKeyExist << std::endl;
166
167
2/2
✓ Branch 0 (44→45) taken 1 times.
✓ Branch 2 (45→46) taken 1 times.
1 ConfigNode * mapSomeListKey = mapPackage->getChild("some_list");
168 // bool isSomeListExist = mapSomeListKey != NULL;
169 // std::cout << "checkTomlEmptyList : isSomeListExist = " << isSomeListExist << std::endl;
170
5/5
✓ Branch 0 (47→48) taken 1 times.
✓ Branch 2 (51→52) taken 1 times.
✓ Branch 4 (54→55) taken 1 times.
✓ Branch 6 (57→58) taken 1 times.
✓ Branch 8 (58→59) taken 1 times.
6 phoenix_assert(mapSomeListKey->getVecChild().size() == 0lu);
171 1 }
172
173
174 ///Check the embeded dico
175 1 void checkTomNestedlList(){
176
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("[package]\nsome_nested_list = [1, 2, [3, 4]]\n\n");
177
178
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_nested_list.toml");
179
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
180
181
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
182
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
183 // std::cout << "checkTomlNestedList : output ConfigNode :" << std::endl;
184 // dico.print();
185
186
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapPackage = dico.getChild("package");
187 // bool isKeyExist = mapPackage != NULL;
188 // std::cout << "checkTomlNestedList : isKeyExist = " << isKeyExist << std::endl;
189
2/2
✓ Branch 0 (44→45) taken 1 times.
✓ Branch 2 (45→46) taken 1 times.
1 ConfigNode * mapOtherListKey = mapPackage->getChild("some_nested_list");
190 // bool isOtherListExist = mapOtherListKey != NULL;
191 // std::cout << "checkTomlNestedList : isOtherListExist = " << isOtherListExist << std::endl;
192
193
1/1
✓ Branch 0 (47→48) taken 1 times.
1 const VecConfigNode & vecValue = mapOtherListKey->getVecChild();
194
4/4
✓ Branch 0 (51→52) taken 1 times.
✓ Branch 2 (54→55) taken 1 times.
✓ Branch 4 (57→58) taken 1 times.
✓ Branch 6 (58→59) taken 1 times.
6 phoenix_assert(vecValue.size() == 3lu);
195
6/6
✓ Branch 0 (66→67) taken 1 times.
✓ Branch 2 (67→68) taken 1 times.
✓ Branch 4 (70→71) taken 1 times.
✓ Branch 6 (73→74) taken 1 times.
✓ Branch 8 (76→77) taken 1 times.
✓ Branch 10 (77→78) taken 1 times.
6 phoenix_assert(vecValue[0]->getValue() == "1");
196
6/6
✓ Branch 0 (85→86) taken 1 times.
✓ Branch 2 (86→87) taken 1 times.
✓ Branch 4 (89→90) taken 1 times.
✓ Branch 6 (92→93) taken 1 times.
✓ Branch 8 (95→96) taken 1 times.
✓ Branch 10 (96→97) taken 1 times.
6 phoenix_assert(vecValue[1]->getValue() == "2");
197
198 1 const ConfigNode * subList = vecValue[2];
199
1/1
✓ Branch 0 (104→105) taken 1 times.
1 const VecConfigNode & vecSubValue = subList->getVecChild();
200
4/4
✓ Branch 0 (108→109) taken 1 times.
✓ Branch 2 (111→112) taken 1 times.
✓ Branch 4 (114→115) taken 1 times.
✓ Branch 6 (115→116) taken 1 times.
6 phoenix_assert(vecSubValue.size() == 2lu);
201
6/6
✓ Branch 0 (123→124) taken 1 times.
✓ Branch 2 (124→125) taken 1 times.
✓ Branch 4 (127→128) taken 1 times.
✓ Branch 6 (130→131) taken 1 times.
✓ Branch 8 (133→134) taken 1 times.
✓ Branch 10 (134→135) taken 1 times.
6 phoenix_assert(vecSubValue[0]->getValue() == "3");
202
6/6
✓ Branch 0 (142→143) taken 1 times.
✓ Branch 2 (143→144) taken 1 times.
✓ Branch 4 (146→147) taken 1 times.
✓ Branch 6 (149→150) taken 1 times.
✓ Branch 8 (152→153) taken 1 times.
✓ Branch 10 (153→154) taken 1 times.
6 phoenix_assert(vecSubValue[1]->getValue() == "4");
203 1 }
204
205
206 ///Check the embeded dico
207 1 void checkTomNestedlMap(){
208
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("[first.second]\nsome_value = 42\n\n");
209
210
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_nested_map.toml");
211
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
212
213
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
214
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
215 // std::cout << "checkTomNestedlMap : output ConfigNode :" << std::endl;
216 // dico.print();
217
218
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapFirst = dico.getChild("first");
219 // bool isKeyExist = mapFirst != NULL;
220 // std::cout << "checkTomNestedlMap : isKeyExist = " << isKeyExist << std::endl;
221
2/2
✓ Branch 0 (44→45) taken 1 times.
✓ Branch 2 (45→46) taken 1 times.
1 ConfigNode * mapSecond = mapFirst->getChild("second");
222
2/2
✓ Branch 0 (47→48) taken 1 times.
✓ Branch 2 (48→49) taken 1 times.
1 ConfigNode * mapOtherListKey = mapSecond->getChild("some_value");
223
6/6
✓ Branch 0 (50→51) taken 1 times.
✓ Branch 2 (51→52) taken 1 times.
✓ Branch 4 (54→55) taken 1 times.
✓ Branch 6 (57→58) taken 1 times.
✓ Branch 8 (60→61) taken 1 times.
✓ Branch 10 (61→62) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapOtherListKey, "42"));
224 1 }
225
226 ///Check the embeded dico
227 1 void checkTomTable(){
228
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("[[program]]\nname = \"shadok\"\nage = 42\n\n[[program]]\nname = \"gibi\"\nage = 23\n\n");
229
230
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_table.toml");
231
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
232
233
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
234
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
235 // std::cout << "checkTomTable : output ConfigNode :" << std::endl;
236 // dico.print();
237
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapProgram = dico.getChild("program");
238 // bool isKeyExist = mapProgram != NULL;
239 // std::cout << "checkTomTable : isKeyExist = " << isKeyExist << std::endl;
240
1/1
✓ Branch 0 (44→45) taken 1 times.
1 const VecConfigNode & vecProgramValue = mapProgram->getVecChild();
241
4/4
✓ Branch 0 (48→49) taken 1 times.
✓ Branch 2 (51→52) taken 1 times.
✓ Branch 4 (54→55) taken 1 times.
✓ Branch 6 (55→56) taken 1 times.
6 phoenix_assert(vecProgramValue.size() == 2lu);
242
2/2
✓ Branch 0 (63→64) taken 1 times.
✓ Branch 2 (64→65) taken 1 times.
1 const ConfigNode * mapProgram0Name = vecProgramValue[0]->getChild("name");
243
6/6
✓ Branch 0 (66→67) taken 1 times.
✓ Branch 2 (67→68) taken 1 times.
✓ Branch 4 (70→71) taken 1 times.
✓ Branch 6 (73→74) taken 1 times.
✓ Branch 8 (76→77) taken 1 times.
✓ Branch 10 (77→78) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapProgram0Name, "\"shadok\""));
244
2/2
✓ Branch 0 (86→87) taken 1 times.
✓ Branch 2 (87→88) taken 1 times.
1 const ConfigNode * mapProgram0Age = vecProgramValue[0]->getChild("age");
245
6/6
✓ Branch 0 (89→90) taken 1 times.
✓ Branch 2 (90→91) taken 1 times.
✓ Branch 4 (93→94) taken 1 times.
✓ Branch 6 (96→97) taken 1 times.
✓ Branch 8 (99→100) taken 1 times.
✓ Branch 10 (100→101) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapProgram0Age, "42"));
246
247
8/8
✓ Branch 0 (110→111) taken 1 times.
✓ Branch 2 (111→112) taken 1 times.
✓ Branch 4 (112→113) taken 1 times.
✓ Branch 6 (113→114) taken 1 times.
✓ Branch 8 (116→117) taken 1 times.
✓ Branch 10 (119→120) taken 1 times.
✓ Branch 12 (122→123) taken 1 times.
✓ Branch 14 (123→124) taken 1 times.
7 phoenix_assert(phoenix_check("checkTomTable : location", mapProgram0Name->getLocation(), PLocation(tomlFile, 2, 6)));
248
249
2/2
✓ Branch 0 (135→136) taken 1 times.
✓ Branch 2 (136→137) taken 1 times.
1 const ConfigNode * mapProgram1Name = vecProgramValue[1]->getChild("name");
250
6/6
✓ Branch 0 (138→139) taken 1 times.
✓ Branch 2 (139→140) taken 1 times.
✓ Branch 4 (142→143) taken 1 times.
✓ Branch 6 (145→146) taken 1 times.
✓ Branch 8 (148→149) taken 1 times.
✓ Branch 10 (149→150) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapProgram1Name, "\"gibi\""));
251
2/2
✓ Branch 0 (158→159) taken 1 times.
✓ Branch 2 (159→160) taken 1 times.
1 const ConfigNode * mapProgram1Age = vecProgramValue[1]->getChild("age");
252
6/6
✓ Branch 0 (161→162) taken 1 times.
✓ Branch 2 (162→163) taken 1 times.
✓ Branch 4 (165→166) taken 1 times.
✓ Branch 6 (168→169) taken 1 times.
✓ Branch 8 (171→172) taken 1 times.
✓ Branch 10 (172→173) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapProgram1Age, "23"));
253
254
8/8
✓ Branch 0 (182→183) taken 1 times.
✓ Branch 2 (183→184) taken 1 times.
✓ Branch 4 (184→185) taken 1 times.
✓ Branch 6 (185→186) taken 1 times.
✓ Branch 8 (188→189) taken 1 times.
✓ Branch 10 (191→192) taken 1 times.
✓ Branch 12 (194→195) taken 1 times.
✓ Branch 14 (195→196) taken 1 times.
7 phoenix_assert(phoenix_check("checkTomTable : location", mapProgram1Name->getLocation(), PLocation(tomlFile, 6, 6)));
255 1 }
256
257 ///Check the compact dico
258 1 void checkTomlCompactDico(){
259
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("[program]\nname = {url = \"someUrl\"}\nage = 42\n\n");
260
261
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_compact_dico.toml");
262
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
263
264
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
265
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
266 // std::cout << "checkTomlCompactDico : output ConfigNode :" << std::endl;
267 // dico.print();
268
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapProgram = dico.getChild("program");
269 // bool isKeyExist = mapProgram != NULL;
270 // std::cout << "checkTomlCompactDico : isKeyExist = " << isKeyExist << std::endl;
271
2/2
✓ Branch 0 (44→45) taken 1 times.
✓ Branch 2 (45→46) taken 1 times.
1 const ConfigNode * mapName = mapProgram->getChild("name");
272
2/2
✓ Branch 0 (47→48) taken 1 times.
✓ Branch 2 (48→49) taken 1 times.
1 const ConfigNode * mapNameUrl = mapName->getChild("url");
273
6/6
✓ Branch 0 (50→51) taken 1 times.
✓ Branch 2 (51→52) taken 1 times.
✓ Branch 4 (54→55) taken 1 times.
✓ Branch 6 (57→58) taken 1 times.
✓ Branch 8 (60→61) taken 1 times.
✓ Branch 10 (61→62) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapNameUrl, "\"someUrl\""));
274
2/2
✓ Branch 0 (69→70) taken 1 times.
✓ Branch 2 (70→71) taken 1 times.
1 const ConfigNode * mapAge = mapProgram->getChild("age");
275
6/6
✓ Branch 0 (72→73) taken 1 times.
✓ Branch 2 (73→74) taken 1 times.
✓ Branch 4 (76→77) taken 1 times.
✓ Branch 6 (79→80) taken 1 times.
✓ Branch 8 (82→83) taken 1 times.
✓ Branch 10 (83→84) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapAge, "42"));
276
277
8/8
✓ Branch 0 (93→94) taken 1 times.
✓ Branch 2 (94→95) taken 1 times.
✓ Branch 4 (95→96) taken 1 times.
✓ Branch 6 (96→97) taken 1 times.
✓ Branch 8 (99→100) taken 1 times.
✓ Branch 10 (102→103) taken 1 times.
✓ Branch 12 (105→106) taken 1 times.
✓ Branch 14 (106→107) taken 1 times.
7 phoenix_assert(phoenix_check("checkTomlCompactDico : location", mapNameUrl->getLocation(), PLocation(tomlFile, 2, 13)));
278 1 }
279
280 ///Check the compact dico
281 1 void checkTomlCompactDico2(){
282
1/1
✓ Branch 0 (2→3) 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");
283
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_compact_dico.toml");
284
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
285
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
286
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
287 // std::cout << "checkTomlCompactDico : output ConfigNode :" << std::endl;
288 // dico.print();
289
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapProgram = dico.getChild("program");
290
8/8
✓ Branch 0 (46→47) taken 1 times.
✓ Branch 2 (47→48) taken 1 times.
✓ Branch 4 (48→49) taken 1 times.
✓ Branch 6 (49→50) taken 1 times.
✓ Branch 8 (52→53) taken 1 times.
✓ Branch 10 (55→56) taken 1 times.
✓ Branch 12 (58→59) taken 1 times.
✓ Branch 14 (59→60) taken 1 times.
7 phoenix_assert(phoenix_check("checkTomlCompactDico : location", mapProgram->getLocation(), PLocation(tomlFile, 1, 9)));
291 // bool isKeyExist = mapProgram != NULL;
292 // std::cout << "checkTomlCompactDico : isKeyExist = " << isKeyExist << std::endl;
293
2/2
✓ Branch 0 (70→71) taken 1 times.
✓ Branch 2 (71→72) taken 1 times.
1 const ConfigNode * mapName = mapProgram->getChild("name");
294
2/2
✓ Branch 0 (73→74) taken 1 times.
✓ Branch 2 (74→75) taken 1 times.
1 const ConfigNode * mapNameUrl = mapName->getChild("url");
295
6/6
✓ Branch 0 (76→77) taken 1 times.
✓ Branch 2 (77→78) taken 1 times.
✓ Branch 4 (80→81) taken 1 times.
✓ Branch 6 (83→84) taken 1 times.
✓ Branch 8 (86→87) taken 1 times.
✓ Branch 10 (87→88) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapNameUrl, "\"someUrl\""));
296
2/2
✓ Branch 0 (95→96) taken 1 times.
✓ Branch 2 (96→97) taken 1 times.
1 const ConfigNode * mapNameVersion = mapName->getChild("version");
297
6/6
✓ Branch 0 (98→99) taken 1 times.
✓ Branch 2 (99→100) taken 1 times.
✓ Branch 4 (102→103) taken 1 times.
✓ Branch 6 (105→106) taken 1 times.
✓ Branch 8 (108→109) taken 1 times.
✓ Branch 10 (109→110) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapNameVersion, "\"1.0.0\""));
298
2/2
✓ Branch 0 (117→118) taken 1 times.
✓ Branch 2 (118→119) taken 1 times.
1 const ConfigNode * mapAge = mapProgram->getChild("age");
299
6/6
✓ Branch 0 (120→121) taken 1 times.
✓ Branch 2 (121→122) taken 1 times.
✓ Branch 4 (124→125) taken 1 times.
✓ Branch 6 (127→128) taken 1 times.
✓ Branch 8 (130→131) taken 1 times.
✓ Branch 10 (131→132) taken 1 times.
7 phoenix_assert(checkKeyMapValue(mapAge, "42"));
300 1 }
301
302 ///Check if the parsing of a file is OK
303 /** @param fileName : name of the file to be created
304 * @param fileContent : content of the file
305 * @return true on success, false otherwise
306 */
307 9 bool checkIsParserOk(const PPath & fileName, const PString & fileContent){
308 9 bool b(true);
309
1/1
✓ Branch 0 (2→3) taken 9 times.
9 b &= fileName.saveFileContent(fileContent);
310
1/1
✓ Branch 0 (3→4) taken 9 times.
9 ConfigNode dico;
311
1/1
✓ Branch 0 (4→5) taken 9 times.
9 b &= parser_toml(dico, fileName);
312 9 return b;
313 9 }
314
315 ///Check the YML parser
316 1 void checkParserTomlFail(){
317
1/1
✓ Branch 0 (2→3) taken 1 times.
1 ConfigNode dico;
318
7/7
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
✓ Branch 4 (5→6) taken 1 times.
✓ Branch 6 (8→9) taken 1 times.
✓ Branch 8 (11→12) taken 1 times.
✓ Branch 10 (14→15) taken 1 times.
✓ Branch 12 (15→16) taken 1 times.
7 phoenix_assert(!parser_toml(dico, PString("UnexsitingFileName.toml")));
319
8/8
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (25→26) taken 1 times.
✓ Branch 4 (26→27) taken 1 times.
✓ Branch 6 (27→28) taken 1 times.
✓ Branch 8 (30→31) taken 1 times.
✓ Branch 10 (33→34) taken 1 times.
✓ Branch 12 (36→37) taken 1 times.
✓ Branch 14 (37→38) taken 1 times.
7 phoenix_assert(!checkIsParserOk(PString("unextected_token.toml"), "=\n"));
320
8/8
✓ Branch 0 (47→48) taken 1 times.
✓ Branch 2 (48→49) taken 1 times.
✓ Branch 4 (49→50) taken 1 times.
✓ Branch 6 (50→51) taken 1 times.
✓ Branch 8 (53→54) taken 1 times.
✓ Branch 10 (56→57) taken 1 times.
✓ Branch 12 (59→60) taken 1 times.
✓ Branch 14 (60→61) taken 1 times.
7 phoenix_assert(!checkIsParserOk(PString("missing_equal_of_variable.toml"), "[package]\nvariable value\n"));
321
8/8
✓ Branch 0 (70→71) taken 1 times.
✓ Branch 2 (71→72) taken 1 times.
✓ Branch 4 (72→73) taken 1 times.
✓ Branch 6 (73→74) taken 1 times.
✓ Branch 8 (76→77) taken 1 times.
✓ Branch 10 (79→80) taken 1 times.
✓ Branch 12 (82→83) taken 1 times.
✓ Branch 14 (83→84) taken 1 times.
7 phoenix_assert(!checkIsParserOk(PString("missing_value_of_variable.toml"), "[package]\nvariable =\n"));
322
8/8
✓ Branch 0 (93→94) taken 1 times.
✓ Branch 2 (94→95) taken 1 times.
✓ Branch 4 (95→96) taken 1 times.
✓ Branch 6 (96→97) taken 1 times.
✓ Branch 8 (99→100) taken 1 times.
✓ Branch 10 (102→103) taken 1 times.
✓ Branch 12 (105→106) taken 1 times.
✓ Branch 14 (106→107) taken 1 times.
7 phoenix_assert(!checkIsParserOk(PString("unclosed_list.toml"), "[package]\nlist = [42\n"));
323
8/8
✓ Branch 0 (116→117) taken 1 times.
✓ Branch 2 (117→118) taken 1 times.
✓ Branch 4 (118→119) taken 1 times.
✓ Branch 6 (119→120) taken 1 times.
✓ Branch 8 (122→123) taken 1 times.
✓ Branch 10 (125→126) taken 1 times.
✓ Branch 12 (128→129) taken 1 times.
✓ Branch 14 (129→130) taken 1 times.
7 phoenix_assert(!checkIsParserOk(PString("unclosed_empty_list.toml"), "[package]\nlist = [\n"));
324
8/8
✓ Branch 0 (139→140) taken 1 times.
✓ Branch 2 (140→141) taken 1 times.
✓ Branch 4 (141→142) taken 1 times.
✓ Branch 6 (142→143) taken 1 times.
✓ Branch 8 (145→146) taken 1 times.
✓ Branch 10 (148→149) taken 1 times.
✓ Branch 12 (151→152) taken 1 times.
✓ Branch 14 (152→153) taken 1 times.
7 phoenix_assert(!checkIsParserOk(PString("unclosed_dico.toml"), "[package]\ndico = {name\n"));
325
8/8
✓ Branch 0 (162→163) taken 1 times.
✓ Branch 2 (163→164) taken 1 times.
✓ Branch 4 (164→165) taken 1 times.
✓ Branch 6 (165→166) taken 1 times.
✓ Branch 8 (168→169) taken 1 times.
✓ Branch 10 (171→172) taken 1 times.
✓ Branch 12 (174→175) taken 1 times.
✓ Branch 14 (175→176) taken 1 times.
7 phoenix_assert(!checkIsParserOk(PString("unclosed_empty_dico.toml"), "[package]\ndico = {\n"));
326
8/8
✓ Branch 0 (185→186) taken 1 times.
✓ Branch 2 (186→187) taken 1 times.
✓ Branch 4 (187→188) taken 1 times.
✓ Branch 6 (188→189) taken 1 times.
✓ Branch 8 (191→192) taken 1 times.
✓ Branch 10 (194→195) taken 1 times.
✓ Branch 12 (197→198) taken 1 times.
✓ Branch 14 (198→199) taken 1 times.
7 phoenix_assert(checkIsParserOk(PString("some_comment.toml"), "# Some value\n[package]\nvalue = 42\n"));
327
8/8
✓ Branch 0 (208→209) taken 1 times.
✓ Branch 2 (209→210) taken 1 times.
✓ Branch 4 (210→211) taken 1 times.
✓ Branch 6 (211→212) taken 1 times.
✓ Branch 8 (214→215) taken 1 times.
✓ Branch 10 (217→218) taken 1 times.
✓ Branch 12 (220→221) taken 1 times.
✓ Branch 14 (221→222) taken 1 times.
7 phoenix_assert(checkIsParserOk(PString("some_triple_double_quote_string.toml"), "# Some value\n[package]\nstrvalue = \"\"\"\nsome string\n\"\"\"\n"));
328 1 }
329
330 ///Check the compact dico with complex nested structures using ConfigNode
331 1 void checkListOfDico(){
332
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PString fileContent("[project]\nauthors = [\n { firstName = \"Oprinsen\", lastName = \"Thibaut\", mail = \"thibaut.oprinsen@lapp.in2p3.fr\" },\n { firstName = \"Aubert\", lastName = \"Pierre\", mail = \"pierre.aubert@lapp.in2p3.fr\" }\n]\nmaintainers = [\n { firstName = \"Aubert\", lastName = \"Pierre\", mail = \"pierre.aubert@lapp.in2p3.fr\" }\n]\n\n");
333
334
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 PPath tomlFile("test_toml_complex_compact_dico.toml");
335
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(tomlFile.saveFileContent(fileContent));
336
337
1/1
✓ Branch 0 (23→24) taken 1 times.
1 ConfigNode dico;
338
5/5
✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (33→34) taken 1 times.
✓ Branch 8 (34→35) taken 1 times.
6 phoenix_assert(parser_toml(dico, tomlFile));
339
340
2/2
✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (42→43) taken 1 times.
1 ConfigNode * mapProject = dico.getChild("project");
341
4/4
✓ Branch 0 (46→47) taken 1 times.
✓ Branch 2 (49→50) taken 1 times.
✓ Branch 4 (52→53) taken 1 times.
✓ Branch 6 (53→54) taken 1 times.
6 phoenix_assert(mapProject != NULL);
342
343 // Test authors array with compact dictionaries
344
2/2
✓ Branch 0 (60→61) taken 1 times.
✓ Branch 2 (61→62) taken 1 times.
1 ConfigNode * mapAuthors = mapProject->getChild("authors");
345
4/4
✓ Branch 0 (65→66) taken 1 times.
✓ Branch 2 (68→69) taken 1 times.
✓ Branch 4 (71→72) taken 1 times.
✓ Branch 6 (72→73) taken 1 times.
6 phoenix_assert(mapAuthors != NULL);
346
1/1
✓ Branch 0 (79→80) taken 1 times.
1 const VecConfigNode & vecAuthors = mapAuthors->getVecChild();
347
4/4
✓ Branch 0 (83→84) taken 1 times.
✓ Branch 2 (86→87) taken 1 times.
✓ Branch 4 (89→90) taken 1 times.
✓ Branch 6 (90→91) taken 1 times.
6 phoenix_assert(vecAuthors.size() == 2lu);
348
349 // Check first author
350
2/2
✓ Branch 0 (98→99) taken 1 times.
✓ Branch 2 (99→100) taken 1 times.
1 const ConfigNode * author1FirstName = vecAuthors[0]->getChild("firstName");
351
6/6
✓ Branch 0 (101→102) taken 1 times.
✓ Branch 2 (102→103) taken 1 times.
✓ Branch 4 (105→106) taken 1 times.
✓ Branch 6 (108→109) taken 1 times.
✓ Branch 8 (111→112) taken 1 times.
✓ Branch 10 (112→113) taken 1 times.
7 phoenix_assert(checkKeyMapValue(author1FirstName, "\"Oprinsen\""));
352
2/2
✓ Branch 0 (121→122) taken 1 times.
✓ Branch 2 (122→123) taken 1 times.
1 const ConfigNode * author1LastName = vecAuthors[0]->getChild("lastName");
353
6/6
✓ Branch 0 (124→125) taken 1 times.
✓ Branch 2 (125→126) taken 1 times.
✓ Branch 4 (128→129) taken 1 times.
✓ Branch 6 (131→132) taken 1 times.
✓ Branch 8 (134→135) taken 1 times.
✓ Branch 10 (135→136) taken 1 times.
7 phoenix_assert(checkKeyMapValue(author1LastName, "\"Thibaut\""));
354
2/2
✓ Branch 0 (144→145) taken 1 times.
✓ Branch 2 (145→146) taken 1 times.
1 const ConfigNode * author1Mail = vecAuthors[0]->getChild("mail");
355
6/6
✓ Branch 0 (147→148) taken 1 times.
✓ Branch 2 (148→149) taken 1 times.
✓ Branch 4 (151→152) taken 1 times.
✓ Branch 6 (154→155) taken 1 times.
✓ Branch 8 (157→158) taken 1 times.
✓ Branch 10 (158→159) taken 1 times.
7 phoenix_assert(checkKeyMapValue(author1Mail, "\"thibaut.oprinsen@lapp.in2p3.fr\""));
356
357 // Check second author
358
2/2
✓ Branch 0 (167→168) taken 1 times.
✓ Branch 2 (168→169) taken 1 times.
1 const ConfigNode * author2FirstName = vecAuthors[1]->getChild("firstName");
359
6/6
✓ Branch 0 (170→171) taken 1 times.
✓ Branch 2 (171→172) taken 1 times.
✓ Branch 4 (174→175) taken 1 times.
✓ Branch 6 (177→178) taken 1 times.
✓ Branch 8 (180→181) taken 1 times.
✓ Branch 10 (181→182) taken 1 times.
7 phoenix_assert(checkKeyMapValue(author2FirstName, "\"Aubert\""));
360
2/2
✓ Branch 0 (190→191) taken 1 times.
✓ Branch 2 (191→192) taken 1 times.
1 const ConfigNode * author2LastName = vecAuthors[1]->getChild("lastName");
361
6/6
✓ Branch 0 (193→194) taken 1 times.
✓ Branch 2 (194→195) taken 1 times.
✓ Branch 4 (197→198) taken 1 times.
✓ Branch 6 (200→201) taken 1 times.
✓ Branch 8 (203→204) taken 1 times.
✓ Branch 10 (204→205) taken 1 times.
7 phoenix_assert(checkKeyMapValue(author2LastName, "\"Pierre\""));
362
2/2
✓ Branch 0 (213→214) taken 1 times.
✓ Branch 2 (214→215) taken 1 times.
1 const ConfigNode * author2Mail = vecAuthors[1]->getChild("mail");
363
6/6
✓ Branch 0 (216→217) taken 1 times.
✓ Branch 2 (217→218) taken 1 times.
✓ Branch 4 (220→221) taken 1 times.
✓ Branch 6 (223→224) taken 1 times.
✓ Branch 8 (226→227) taken 1 times.
✓ Branch 10 (227→228) taken 1 times.
7 phoenix_assert(checkKeyMapValue(author2Mail, "\"pierre.aubert@lapp.in2p3.fr\""));
364
365 // Test maintainers array (single element)
366
2/2
✓ Branch 0 (235→236) taken 1 times.
✓ Branch 2 (236→237) taken 1 times.
1 ConfigNode * mapMaintainers = mapProject->getChild("maintainers");
367
4/4
✓ Branch 0 (240→241) taken 1 times.
✓ Branch 2 (243→244) taken 1 times.
✓ Branch 4 (246→247) taken 1 times.
✓ Branch 6 (247→248) taken 1 times.
6 phoenix_assert(mapMaintainers != NULL);
368
1/1
✓ Branch 0 (254→255) taken 1 times.
1 const VecConfigNode & vecMaintainers = mapMaintainers->getVecChild();
369
4/4
✓ Branch 0 (258→259) taken 1 times.
✓ Branch 2 (261→262) taken 1 times.
✓ Branch 4 (264→265) taken 1 times.
✓ Branch 6 (265→266) taken 1 times.
6 phoenix_assert(vecMaintainers.size() == 1lu);
370
371 // Check maintainer
372
2/2
✓ Branch 0 (273→274) taken 1 times.
✓ Branch 2 (274→275) taken 1 times.
1 const ConfigNode * maintainerFirstName = vecMaintainers[0]->getChild("firstName");
373
6/6
✓ Branch 0 (276→277) taken 1 times.
✓ Branch 2 (277→278) taken 1 times.
✓ Branch 4 (280→281) taken 1 times.
✓ Branch 6 (283→284) taken 1 times.
✓ Branch 8 (286→287) taken 1 times.
✓ Branch 10 (287→288) taken 1 times.
7 phoenix_assert(checkKeyMapValue(maintainerFirstName, "\"Aubert\""));
374
2/2
✓ Branch 0 (296→297) taken 1 times.
✓ Branch 2 (297→298) taken 1 times.
1 const ConfigNode * maintainerLastName = vecMaintainers[0]->getChild("lastName");
375
6/6
✓ Branch 0 (299→300) taken 1 times.
✓ Branch 2 (300→301) taken 1 times.
✓ Branch 4 (303→304) taken 1 times.
✓ Branch 6 (306→307) taken 1 times.
✓ Branch 8 (309→310) taken 1 times.
✓ Branch 10 (310→311) taken 1 times.
7 phoenix_assert(checkKeyMapValue(maintainerLastName, "\"Pierre\""));
376
2/2
✓ Branch 0 (319→320) taken 1 times.
✓ Branch 2 (320→321) taken 1 times.
1 const ConfigNode * maintainerMail = vecMaintainers[0]->getChild("mail");
377
6/6
✓ Branch 0 (322→323) taken 1 times.
✓ Branch 2 (323→324) taken 1 times.
✓ Branch 4 (326→327) taken 1 times.
✓ Branch 6 (329→330) taken 1 times.
✓ Branch 8 (332→333) taken 1 times.
✓ Branch 10 (333→334) taken 1 times.
7 phoenix_assert(checkKeyMapValue(maintainerMail, "\"pierre.aubert@lapp.in2p3.fr\""));
378 1 }
379
380 1 int main(int argc, char** argv){
381 1 testCheckValue();
382 1 checkParserTomlFail();
383 1 checkParserTomlVar();
384 1 checkParserToml();
385 1 checkTomlList();
386 1 checkTomlEmptyList();
387 1 checkTomNestedlList();
388 1 checkTomNestedlMap();
389 1 checkTomTable();
390 1 checkTomlCompactDico();
391 1 checkTomlCompactDico2();
392 1 checkListOfDico();
393 1 return 0;
394 }
395
396
397