6 #include <boost/test/unit_test.hpp>
7 #include <boost/test/parameterized_test.hpp>
8 #include <boost/test/unit_test_log.hpp>
10 #include "zypp/base/Logger.h"
11 #include "zypp/base/InputStream.h"
12 #include "zypp/parser/IniDict.h"
14 #include "zypp/PathInfo.h"
21 using namespace zypp::parser;
22 using namespace boost::unit_test;
25 void ini_read_test(const string &dir)
27 InputStream is((Pathname(dir)+"/1.ini"));
30 //MIL << dict["homedmacvicar"]["type"] << endl;
32 for ( IniDict::section_const_iterator it = dict.sectionsBegin(); it != dict.sectionsEnd(); ++it )
36 for ( IniDict::entry_const_iterator it2 = dict.entriesBegin(*it); it2 != dict.entriesEnd(*it); ++it2 )
38 MIL << " - " << (*it2).first << " | " << (*it2).second << endl;
42 BOOST_CHECK( dict.hasSection("addons") );
43 BOOST_CHECK( !dict.hasSection("uhlala") );
44 BOOST_CHECK( dict.hasEntry("contrib", "name") );
45 BOOST_CHECK( !dict.hasEntry("foo", "bar") );
48 void ini_read_test2(const string &dir)
50 InputStream is((Pathname(dir)+"/2.ini"));
53 BOOST_CHECK( find( dict.sectionsBegin(), dict.sectionsEnd(), "base" ) != dict.sectionsEnd() );
54 //IniDict::entry_const_iterator i = find( dict.entriesBegin("base"), dict.entriesEnd("base"), "name");
55 //BOOST_CHECK( i != dict.entriesEnd("base") );
59 init_unit_test_suite( int argc, char *argv[] )
64 datadir = TESTS_SRC_DIR;
65 datadir = (Pathname(datadir) + "/parser/inifile/data").asString();
66 cout << "inidict_test:"
67 " path to directory with test data required as parameter. Using " << datadir << endl;
68 //return (test_suite *)0;
75 test_suite* test= BOOST_TEST_SUITE("ini_file");
77 std::string const params[] = { datadir };
78 test->add(BOOST_PARAM_TEST_CASE(&ini_read_test,
79 (std::string const*)params, params+1));
80 test->add(BOOST_PARAM_TEST_CASE(&ini_read_test2,
81 (std::string const*)params, params+1));
85 // vim: set ts=2 sts=2 sw=2 ai et: