@@ -150,6 +150,47 @@ TEST(StringBased, Vector) {
150150    EXPECT_EQ (" seven" at (2 ).inputs .at (2 ));
151151}
152152
153+ TEST (StringBased, TomlVector) {
154+     std::stringstream ofile;
155+ 
156+     ofile << " one = [three]\n " 
157+     ofile << " two = [four]\n " 
158+     ofile << " five = [six, and, seven]\n " 
159+     ofile << " eight = [nine, \n " 
160+              " ten, eleven,     twelve    \n " 
161+              " ]\n " 
162+     ofile << " one_more = [one, \n " 
163+              " two,     three  ]    \n " 
164+ 
165+     ofile.seekg (0 , std::ios::beg);
166+ 
167+     std::vector<CLI::ConfigItem> output = CLI::ConfigINI ().from_config (ofile);
168+ 
169+     EXPECT_EQ (5u , output.size ());
170+     EXPECT_EQ (" one" at (0 ).name );
171+     EXPECT_EQ (1u , output.at (0 ).inputs .size ());
172+     EXPECT_EQ (" three" at (0 ).inputs .at (0 ));
173+     EXPECT_EQ (" two" at (1 ).name );
174+     EXPECT_EQ (1u , output.at (1 ).inputs .size ());
175+     EXPECT_EQ (" four" at (1 ).inputs .at (0 ));
176+     EXPECT_EQ (" five" at (2 ).name );
177+     EXPECT_EQ (3u , output.at (2 ).inputs .size ());
178+     EXPECT_EQ (" six" at (2 ).inputs .at (0 ));
179+     EXPECT_EQ (" and" at (2 ).inputs .at (1 ));
180+     EXPECT_EQ (" seven" at (2 ).inputs .at (2 ));
181+     EXPECT_EQ (" eight" at (3 ).name );
182+     EXPECT_EQ (4u , output.at (3 ).inputs .size ());
183+     EXPECT_EQ (" nine" at (3 ).inputs .at (0 ));
184+     EXPECT_EQ (" ten" at (3 ).inputs .at (1 ));
185+     EXPECT_EQ (" eleven" at (3 ).inputs .at (2 ));
186+     EXPECT_EQ (" twelve" at (3 ).inputs .at (3 ));
187+     EXPECT_EQ (" one_more" at (4 ).name );
188+     EXPECT_EQ (3u , output.at (4 ).inputs .size ());
189+     EXPECT_EQ (" one" at (4 ).inputs .at (0 ));
190+     EXPECT_EQ (" two" at (4 ).inputs .at (1 ));
191+     EXPECT_EQ (" three" at (4 ).inputs .at (2 ));
192+ }
193+ 
153194TEST (StringBased, Spaces) {
154195    std::stringstream ofile;
155196
0 commit comments