1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
#include <tests/lib/TestSetup.h>
#include "output/Out.h"
typedef std::vector<std::string> Container;
Container container {
"aaaa", "bbbb", "cccc", "dddd", "eeee",
"ffff", "gggg", "hhhh", "iiii", "jjjj",
};
struct Formater
{
//typedef out::DefaultListLayout NormalLayout;
std::string listElement( const std::string & val_r ) const
{ return val_r; }
};
BOOST_AUTO_TEST_CASE(init)
{
struct OutTest : public OutNormal
{
using OutNormal::OutNormal;
unsigned termwidth() const override { return 30; }
};
Zypper::instance().setOutputWriter( new OutTest );
}
template <class TFormater, class TLayout>
std::ostream & writeout( std::ostream & str_r, const Container & container_r, TFormater && formater_r, TLayout && layout_r )
{
str_r << "+++++" << endl;
out::writeContainer( str_r, container_r, std::forward<TFormater>(formater_r), std::forward<TLayout>(layout_r) );
str_r << "-----" << endl;
return str_r;
}
template <class TFormater, class TLayout>
std::string writestr( const Container & container_r, TFormater && formater_r, TLayout && layout_r )
{
std::ostringstream out;
writeout( out, container_r, std::forward<TFormater>(formater_r), std::forward<TLayout>(layout_r) );
return out.str();
}
BOOST_AUTO_TEST_CASE(list_formater)
{
BOOST_CHECK_EQUAL( writestr( container, Formater(), out::DefaultListLayout() ),
"+++++\n\
aaaa\n\
bbbb\n\
cccc\n\
dddd\n\
eeee\n\
ffff\n\
gggg\n\
hhhh\n\
iiii\n\
jjjj\n\
-----\n" );
BOOST_CHECK_EQUAL( writestr( container, Formater(), out::DefaultGapedListLayout() ),
"+++++\n\
\n\
aaaa\n\
\n\
bbbb\n\
\n\
cccc\n\
\n\
dddd\n\
\n\
eeee\n\
\n\
ffff\n\
\n\
gggg\n\
\n\
hhhh\n\
\n\
iiii\n\
\n\
jjjj\n\
-----\n" );
BOOST_CHECK_EQUAL( writestr( container, Formater(), out::IndentedListLayout() ),
"+++++\n\
aaaa\n\
bbbb\n\
cccc\n\
dddd\n\
eeee\n\
ffff\n\
gggg\n\
hhhh\n\
iiii\n\
jjjj\n\
-----\n" );
BOOST_CHECK_EQUAL( writestr( container, Formater(), out::IndentedGapedListLayout() ),
"+++++\n\
\n\
aaaa\n\
\n\
bbbb\n\
\n\
cccc\n\
\n\
dddd\n\
\n\
eeee\n\
\n\
ffff\n\
\n\
gggg\n\
\n\
hhhh\n\
\n\
iiii\n\
\n\
jjjj\n\
-----\n" );
BOOST_CHECK_EQUAL( writestr( container, Formater(), out::CompressedListLayout() ),
"+++++\n\
aaaa bbbb cccc dddd eeee\n\
ffff gggg hhhh iiii jjjj\n\
-----\n" );
}
|