1 #include <boost/test/unit_test.hpp>
3 #include "zypp/base/Easy.h"
5 #include "zypp/PathInfo.h"
6 #include "zypp/Pathname.h"
7 #include "zypp/data/ResolvableData.h"
8 #include "zypp/parser/yum/PatchFileReader.h"
11 using namespace boost::unit_test;
13 using namespace zypp::parser::yum;
15 #define DATADIR (Pathname(TESTS_SRC_DIR) + "parser/yum/data")
17 struct Check_fetchmsttfonts
19 bool operator()( const data::Patch_Ptr & data_r )
21 BOOST_CHECK( data_r );
24 BOOST_CHECK_EQUAL( data_r->name, "fetchmsttfonts.sh" );
25 BOOST_CHECK_EQUAL( data_r->edition, Edition("4347", "0") );
26 BOOST_CHECK_EQUAL( data_r->arch, Arch_noarch );
28 BOOST_CHECK_EQUAL( data_r->summary.text().size(), 41 );
29 BOOST_CHECK_EQUAL( data_r->description.text().size(), 296 );
30 BOOST_CHECK_EQUAL( data_r->licenseToConfirm.text().size(), 4911 );
32 BOOST_CHECK_EQUAL( data_r->id, "fetchmsttfonts.sh-4347" );
33 BOOST_CHECK_EQUAL( data_r->timestamp, Date(20070919) );
34 BOOST_CHECK_EQUAL( data_r->category, "optional" );
36 BOOST_CHECK_EQUAL( data_r->atoms.size(), 1 );
37 if ( data_r->atoms.size() == 1 )
39 data::Script_Ptr scr( dynamic_pointer_cast<data::Script>( *data_r->atoms.begin() ) );
42 BOOST_CHECK_EQUAL( scr->name, "fetchmsttfonts.sh-4347-patch-fetchmsttfonts.sh-2" );
43 BOOST_CHECK_EQUAL( scr->edition, Edition("4347", "1") );
44 BOOST_CHECK_EQUAL( scr->arch, Arch_noarch );
46 BOOST_CHECK_EQUAL( scr->doScript.size(), 3718);
47 BOOST_CHECK_EQUAL( scr->undoScript.size(), 0 );
51 BOOST_CHECK_MESSAGE( false, "Atom is not a Script" );
59 void patch_read_test( const Pathname & file_r )
61 cout << "Testing : " << file_r << endl;
62 PatchFileReader( file_r, Check_fetchmsttfonts() );
65 BOOST_AUTO_TEST_CASE(patch_read)
67 patch_read_test(DATADIR + "patch-fetchmsttfonts.sh-4347.xml");