LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework
-check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test \
- equal-date.test dbus-escape.test cmp-lt.test humanstring.test table.test \
- csv-formatter.test json-formatter.test getopts.test lvm-utils.test
+check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test \
+ equal-date.test dbus-escape.test cmp-lt.test humanstring.test \
+ table.test table-formatter.test csv-formatter.test json-formatter.test \
+ getopts.test lvm-utils.test
if ENABLE_BTRFS_QUOTA
check_PROGRAMS += qgroup1.test
table_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la
+table_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la
+
csv_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la
json_formatter_test_LDADD = -lboost_unit_test_framework ../client/utils/libutils.la
#include <boost/test/unit_test.hpp>
-#include <vector>
-#include <string>
-
#include "../client/utils/CsvFormatter.h"
+
using namespace std;
+
BOOST_AUTO_TEST_CASE(test1)
{
- vector<string> columns = { "column1", "column2", "column3" };;
+ vector<string> columns = { "column1", "column2", "column3" };
vector<vector<string>> rows = {
{ "value;1", "value\n2", "value\"3" },
#include <boost/test/unit_test.hpp>
-#include <vector>
-#include <string>
-
#include "../client/utils/JsonFormatter.h"
+
using namespace std;
+
BOOST_AUTO_TEST_CASE(test1_escape_values)
{
snapper::cli::JsonFormatter::Data data = {
" \"key4\": \"\\\"value9\\\"\"\n"
"}";
+ // TODO it is inconsistent that here a final newline is missing while the other
+ // formatters add it
+
snapper::cli::JsonFormatter formatter(data);
BOOST_CHECK_EQUAL(formatter.str(), expected_result);
--- /dev/null
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE snapper
+
+#include <boost/test/unit_test.hpp>
+
+#include "../client/utils/TableFormatter.h"
+
+
+using namespace std;
+
+
+BOOST_AUTO_TEST_CASE(test1)
+{
+ locale::global(locale("en_GB.UTF-8"));
+
+ vector<pair<string, TableAlign>> header = {
+ { "Number", TableAlign::RIGHT },
+ { "Name EN", TableAlign::LEFT },
+ { "Name DE", TableAlign::LEFT },
+ { "Square", TableAlign::RIGHT }
+ };
+
+ vector<vector<string>> rows = {
+ { "0", "zero", "Null", "0" },
+ { "1", "one", "Eins", "1"} ,
+ { "5", "five", "Fünf", "25" },
+ { "12", "twelve", "Zwölf", "144" }
+ };
+
+ snapper::cli::TableFormatter formatter(header, rows, Ascii);
+
+ string result = {
+ "Number | Name EN | Name DE | Square\n"
+ "-------+---------+---------+-------\n"
+ " 0 | zero | Null | 0\n"
+ " 1 | one | Eins | 1\n"
+ " 5 | five | Fünf | 25\n"
+ " 12 | twelve | Zwölf | 144\n"
+ };
+
+ BOOST_CHECK_EQUAL(formatter.str(), result);
+}