[C] Began options refactoring
This commit is contained in:
@@ -10,44 +10,105 @@
|
||||
#include "vector.h"
|
||||
|
||||
|
||||
fort_table_options_t test_table_opts = {
|
||||
1, /* cell_padding_top */
|
||||
1, /* cell_padding_bottom */
|
||||
1, /* cell_padding_left */
|
||||
1, /* cell_padding_right */
|
||||
1, /* cell_empty_string_height */
|
||||
//fort_table_options_t test_table_opts = {
|
||||
// 1, /* cell_padding_top */
|
||||
// 1, /* cell_padding_bottom */
|
||||
// 1, /* cell_padding_left */
|
||||
// 1, /* cell_padding_right */
|
||||
// 1, /* cell_empty_string_height */
|
||||
|
||||
/* border_chars */
|
||||
{
|
||||
'+', '-', '+', '+',
|
||||
'|', '|', '|',
|
||||
'+', '-', '+', '+',
|
||||
'+', '-', '+', '+'
|
||||
},
|
||||
// /* border_chars */
|
||||
// {
|
||||
// '+', '-', '+', '+',
|
||||
// '|', '|', '|',
|
||||
// '+', '-', '+', '+',
|
||||
// '+', '-', '+', '+'
|
||||
// },
|
||||
|
||||
/* header_border_chars */
|
||||
{
|
||||
'+', '-', '+', '+',
|
||||
'|', '|', '|',
|
||||
'+', '-', '+', '+',
|
||||
'+', '-', '+', '+'
|
||||
},
|
||||
// /* header_border_chars */
|
||||
// {
|
||||
// '+', '-', '+', '+',
|
||||
// '|', '|', '|',
|
||||
// '+', '-', '+', '+',
|
||||
// '+', '-', '+', '+'
|
||||
// },
|
||||
|
||||
/* separator_chars */
|
||||
{
|
||||
'+', '=', '+', '+',
|
||||
},
|
||||
// /* separator_chars */
|
||||
// {
|
||||
// '+', '=', '+', '+',
|
||||
// },
|
||||
|
||||
NULL, /* col_options */
|
||||
};
|
||||
// NULL, /* col_options */
|
||||
//};
|
||||
|
||||
int set_test_options_for_table(FTABLE *table)
|
||||
{
|
||||
assert(table);
|
||||
int status = F_SUCCESS;
|
||||
status |= ft_set_table_option(table, FT_OPT_BOTTOM_PADDING, 1);
|
||||
status |= ft_set_table_option(table, FT_OPT_TOP_PADDING, 1);
|
||||
status |= ft_set_table_option(table, FT_OPT_LEFT_PADDING, 1);
|
||||
status |= ft_set_table_option(table, FT_OPT_RIGHT_PADDING, 1);
|
||||
status |= ft_set_table_option(table, FT_OPT_EMPTY_STR_HEIGHT, 1);
|
||||
assert_true( status == F_SUCCESS );
|
||||
|
||||
|
||||
struct border_chars border_chs;
|
||||
border_chs.top_border_ch = '-';
|
||||
border_chs.separator_ch = '-';
|
||||
border_chs.bottom_border_ch = '-';
|
||||
border_chs.side_border_ch = '|';
|
||||
border_chs.out_intersect_ch = '+';
|
||||
border_chs.in_intersect_ch = '+';
|
||||
|
||||
struct border_chars header_border_chs;
|
||||
header_border_chs.top_border_ch = '-';
|
||||
header_border_chs.separator_ch = '-';
|
||||
header_border_chs.bottom_border_ch = '-';
|
||||
header_border_chs.side_border_ch = '|';
|
||||
header_border_chs.out_intersect_ch = '+';
|
||||
header_border_chs.in_intersect_ch = '+';
|
||||
return ft_set_table_borders(table, &border_chs, &header_border_chs);
|
||||
}
|
||||
|
||||
int set_test_options_as_default()
|
||||
{
|
||||
int status = F_SUCCESS;
|
||||
status |= ft_set_default_option(FT_OPT_BOTTOM_PADDING, 1);
|
||||
status |= ft_set_default_option(FT_OPT_TOP_PADDING, 1);
|
||||
status |= ft_set_default_option(FT_OPT_LEFT_PADDING, 1);
|
||||
status |= ft_set_default_option(FT_OPT_RIGHT_PADDING, 1);
|
||||
status |= ft_set_default_option(FT_OPT_EMPTY_STR_HEIGHT, 1);
|
||||
assert_true( status == F_SUCCESS );
|
||||
|
||||
|
||||
struct border_chars border_chs;
|
||||
border_chs.top_border_ch = '-';
|
||||
border_chs.separator_ch = '-';
|
||||
border_chs.bottom_border_ch = '-';
|
||||
border_chs.side_border_ch = '|';
|
||||
border_chs.out_intersect_ch = '+';
|
||||
border_chs.in_intersect_ch = '+';
|
||||
|
||||
struct border_chars header_border_chs;
|
||||
header_border_chs.top_border_ch = '-';
|
||||
header_border_chs.separator_ch = '-';
|
||||
header_border_chs.bottom_border_ch = '-';
|
||||
header_border_chs.side_border_ch = '|';
|
||||
header_border_chs.out_intersect_ch = '+';
|
||||
header_border_chs.in_intersect_ch = '+';
|
||||
return ft_set_default_borders(&border_chs, &header_border_chs);
|
||||
}
|
||||
|
||||
void test_table_sizes(void **state)
|
||||
{
|
||||
(void)state;
|
||||
FTABLE *table = ft_create_table();
|
||||
assert_true( table != NULL );
|
||||
ft_set_table_options(table, &test_table_opts);
|
||||
// ft_set_table_options(table, &test_table_opts);
|
||||
|
||||
assert_true( set_test_options_for_table(table) == F_SUCCESS);
|
||||
|
||||
|
||||
size_t rows = 0;
|
||||
size_t cols = 0;
|
||||
@@ -96,7 +157,8 @@ void test_table_geometry(void **state)
|
||||
(void)state;
|
||||
FTABLE *table = ft_create_table();
|
||||
assert_true( table != NULL );
|
||||
ft_set_table_options(table, &test_table_opts);
|
||||
// ft_set_table_options(table, &test_table_opts);
|
||||
assert_true( set_test_options_for_table(table) == F_SUCCESS);
|
||||
|
||||
size_t height = 0;
|
||||
size_t width = 0;
|
||||
@@ -139,7 +201,8 @@ void test_table_basic(void **state)
|
||||
WHEN("All columns are equal and not empty") {
|
||||
table = ft_create_table();
|
||||
assert_true( table != NULL );
|
||||
ft_set_table_options(table, &test_table_opts);
|
||||
// ft_set_table_options(table, &test_table_opts);
|
||||
assert_true( set_test_options_for_table(table) == F_SUCCESS);
|
||||
|
||||
int n = ft_hdr_printf_ln(table, "%d|%c|%s|%f", 3, 'c', "234", 3.14);
|
||||
assert_true( n == 4 );
|
||||
@@ -176,7 +239,8 @@ void test_table_basic(void **state)
|
||||
WHEN("All columns are not equal and not empty") {
|
||||
table = ft_create_table();
|
||||
assert_true( table != NULL );
|
||||
ft_set_table_options(table, &test_table_opts);
|
||||
// ft_set_table_options(table, &test_table_opts);
|
||||
assert_true( set_test_options_for_table(table) == F_SUCCESS);
|
||||
|
||||
int n = ft_hdr_printf_ln(table, "%d|%c|%s|%f", 3, 'c', "234", 3.14);
|
||||
assert_true( n == 4 );
|
||||
@@ -211,7 +275,8 @@ void test_table_basic(void **state)
|
||||
WHEN("All columns are not equal and some cells are empty") {
|
||||
table = ft_create_table();
|
||||
assert_true( table != NULL );
|
||||
ft_set_table_options(table, &test_table_opts);
|
||||
// ft_set_table_options(table, &test_table_opts);
|
||||
assert_true( set_test_options_for_table(table) == F_SUCCESS);
|
||||
|
||||
int n = ft_hdr_printf_ln(table, "||%s|%f", "234", 3.14);
|
||||
assert_true( n == 4 );
|
||||
@@ -246,7 +311,8 @@ void test_table_basic(void **state)
|
||||
WHEN("All cells are empty") {
|
||||
table = ft_create_table();
|
||||
assert_true( table != NULL );
|
||||
ft_set_table_options(table, &test_table_opts);
|
||||
// ft_set_table_options(table, &test_table_opts);
|
||||
assert_true( set_test_options_for_table(table) == F_SUCCESS);
|
||||
|
||||
int n = ft_hdr_printf_ln(table, "|||");
|
||||
assert_true( n == 4 );
|
||||
@@ -288,8 +354,10 @@ FTABLE *create_test_int_table(int set_test_opts)
|
||||
|
||||
table = ft_create_table();
|
||||
assert_true( table != NULL );
|
||||
if (set_test_opts)
|
||||
ft_set_table_options(table, &test_table_opts);
|
||||
if (set_test_opts) {
|
||||
assert_true( set_test_options_for_table(table) == F_SUCCESS);
|
||||
}
|
||||
// ft_set_table_options(table, &test_table_opts);
|
||||
|
||||
assert_true (table != NULL);
|
||||
|
||||
@@ -319,13 +387,19 @@ void test_table_options(void **state)
|
||||
|
||||
|
||||
WHEN("All paddings = 1") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
table_options.cell_padding_bottom = 1;
|
||||
table_options.cell_padding_top = 1;
|
||||
table_options.cell_padding_left = 1;
|
||||
table_options.cell_padding_right = 1;
|
||||
ft_set_default_options(&table_options);
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// table_options.cell_padding_bottom = 1;
|
||||
// table_options.cell_padding_top = 1;
|
||||
// table_options.cell_padding_left = 1;
|
||||
// table_options.cell_padding_right = 1;
|
||||
// ft_set_default_options(&table_options);
|
||||
set_test_options_as_default();
|
||||
|
||||
ft_set_default_option(FT_OPT_BOTTOM_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_TOP_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_LEFT_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_RIGHT_PADDING, 1);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
|
||||
@@ -387,13 +461,17 @@ void test_table_options(void **state)
|
||||
}
|
||||
|
||||
WHEN("Top and bottom padding = 0") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
table_options.cell_padding_bottom = 0;
|
||||
table_options.cell_padding_top = 0;
|
||||
table_options.cell_padding_left = 1;
|
||||
table_options.cell_padding_right = 1;
|
||||
ft_set_default_options(&table_options);
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// table_options.cell_padding_bottom = 0;
|
||||
// table_options.cell_padding_top = 0;
|
||||
// table_options.cell_padding_left = 1;
|
||||
// table_options.cell_padding_right = 1;
|
||||
// ft_set_default_options(&table_options);
|
||||
ft_set_default_option(FT_OPT_BOTTOM_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_TOP_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_LEFT_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_RIGHT_PADDING, 1);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
|
||||
@@ -415,13 +493,17 @@ void test_table_options(void **state)
|
||||
}
|
||||
|
||||
WHEN("Left and right padding = 0") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
table_options.cell_padding_bottom = 1;
|
||||
table_options.cell_padding_top = 1;
|
||||
table_options.cell_padding_left = 0;
|
||||
table_options.cell_padding_right = 0;
|
||||
ft_set_default_options(&table_options);
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// table_options.cell_padding_bottom = 1;
|
||||
// table_options.cell_padding_top = 1;
|
||||
// table_options.cell_padding_left = 0;
|
||||
// table_options.cell_padding_right = 0;
|
||||
// ft_set_default_options(&table_options);
|
||||
ft_set_default_option(FT_OPT_BOTTOM_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_TOP_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_LEFT_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_RIGHT_PADDING, 0);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
|
||||
@@ -449,13 +531,17 @@ void test_table_options(void **state)
|
||||
}
|
||||
|
||||
WHEN("All paddings = 0") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
table_options.cell_padding_bottom = 0;
|
||||
table_options.cell_padding_top = 0;
|
||||
table_options.cell_padding_left = 0;
|
||||
table_options.cell_padding_right = 0;
|
||||
ft_set_default_options(&table_options);
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// table_options.cell_padding_bottom = 0;
|
||||
// table_options.cell_padding_top = 0;
|
||||
// table_options.cell_padding_left = 0;
|
||||
// table_options.cell_padding_right = 0;
|
||||
// ft_set_default_options(&table_options);
|
||||
ft_set_default_option(FT_OPT_BOTTOM_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_TOP_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_LEFT_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_RIGHT_PADDING, 0);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
|
||||
@@ -477,14 +563,19 @@ void test_table_options(void **state)
|
||||
}
|
||||
|
||||
WHEN("Empty string has 0 heigt") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
table_options.cell_padding_bottom = 1;
|
||||
table_options.cell_padding_top = 1;
|
||||
table_options.cell_padding_left = 1;
|
||||
table_options.cell_padding_right = 1;
|
||||
table_options.cell_empty_string_height = 0;
|
||||
ft_set_default_options(&table_options);
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// table_options.cell_padding_bottom = 1;
|
||||
// table_options.cell_padding_top = 1;
|
||||
// table_options.cell_padding_left = 1;
|
||||
// table_options.cell_padding_right = 1;
|
||||
// table_options.cell_empty_string_height = 0;
|
||||
// ft_set_default_options(&table_options);
|
||||
ft_set_default_option(FT_OPT_BOTTOM_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_TOP_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_LEFT_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_RIGHT_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_EMPTY_STR_HEIGHT, 0);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
int n = ft_printf_ln(table, "|||");
|
||||
@@ -517,45 +608,63 @@ void test_table_options(void **state)
|
||||
}
|
||||
|
||||
WHEN("Changing cell separators") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
|
||||
#define BOR_CHARS table_options.border_chars
|
||||
#define H_BOR_CHARS table_options.header_border_chars
|
||||
//#define BOR_CHARS table_options.border_chars
|
||||
//#define H_BOR_CHARS table_options.header_border_chars
|
||||
|
||||
BOR_CHARS[TL_bip] = BOR_CHARS[TT_bip] = BOR_CHARS[TV_bip] = BOR_CHARS[TR_bip] = '|';
|
||||
BOR_CHARS[LH_bip] = BOR_CHARS[IH_bip] = BOR_CHARS[II_bip] = BOR_CHARS[RH_bip] = '|';
|
||||
BOR_CHARS[BL_bip] = BOR_CHARS[BB_bip] = BOR_CHARS[BV_bip] = BOR_CHARS[BR_bip] = '|';
|
||||
BOR_CHARS[LL_bip] = BOR_CHARS[IV_bip] = BOR_CHARS[RR_bip] = '=';
|
||||
// BOR_CHARS[TL_bip] = BOR_CHARS[TT_bip] = BOR_CHARS[TV_bip] = BOR_CHARS[TR_bip] = '|';
|
||||
// BOR_CHARS[LH_bip] = BOR_CHARS[IH_bip] = BOR_CHARS[II_bip] = BOR_CHARS[RH_bip] = '|';
|
||||
// BOR_CHARS[BL_bip] = BOR_CHARS[BB_bip] = BOR_CHARS[BV_bip] = BOR_CHARS[BR_bip] = '|';
|
||||
// BOR_CHARS[LL_bip] = BOR_CHARS[IV_bip] = BOR_CHARS[RR_bip] = '=';
|
||||
|
||||
|
||||
H_BOR_CHARS[TL_bip] = H_BOR_CHARS[TT_bip] = H_BOR_CHARS[TV_bip] = H_BOR_CHARS[TR_bip] = '*';
|
||||
H_BOR_CHARS[LH_bip] = H_BOR_CHARS[IH_bip] = H_BOR_CHARS[II_bip] = H_BOR_CHARS[RH_bip] = '*';
|
||||
H_BOR_CHARS[BL_bip] = H_BOR_CHARS[BB_bip] = H_BOR_CHARS[BV_bip] = H_BOR_CHARS[BR_bip] = '*';
|
||||
H_BOR_CHARS[LL_bip] = H_BOR_CHARS[IV_bip] = H_BOR_CHARS[RR_bip] = 'v';
|
||||
// H_BOR_CHARS[TL_bip] = H_BOR_CHARS[TT_bip] = H_BOR_CHARS[TV_bip] = H_BOR_CHARS[TR_bip] = '*';
|
||||
// H_BOR_CHARS[LH_bip] = H_BOR_CHARS[IH_bip] = H_BOR_CHARS[II_bip] = H_BOR_CHARS[RH_bip] = '*';
|
||||
// H_BOR_CHARS[BL_bip] = H_BOR_CHARS[BB_bip] = H_BOR_CHARS[BV_bip] = H_BOR_CHARS[BR_bip] = '*';
|
||||
// H_BOR_CHARS[LL_bip] = H_BOR_CHARS[IV_bip] = H_BOR_CHARS[RR_bip] = 'v';
|
||||
|
||||
//#undef BOR_CHARS
|
||||
//#undef H_BOR_CHARS
|
||||
|
||||
// ft_set_default_options(&table_options);
|
||||
struct border_chars border_chs;
|
||||
border_chs.top_border_ch = '|';
|
||||
border_chs.separator_ch = '|';
|
||||
border_chs.bottom_border_ch = '|';
|
||||
border_chs.side_border_ch = '=';
|
||||
border_chs.out_intersect_ch = '+';
|
||||
border_chs.in_intersect_ch = '#';
|
||||
|
||||
struct border_chars header_border_chs;
|
||||
header_border_chs.top_border_ch = '*';
|
||||
header_border_chs.separator_ch = '*';
|
||||
header_border_chs.bottom_border_ch = '*';
|
||||
header_border_chs.side_border_ch = 'v';
|
||||
header_border_chs.out_intersect_ch = '+';
|
||||
header_border_chs.in_intersect_ch = '#';
|
||||
ft_set_default_borders(&border_chs, &header_border_chs);
|
||||
|
||||
#undef BOR_CHARS
|
||||
#undef H_BOR_CHARS
|
||||
|
||||
ft_set_default_options(&table_options);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
const char *table_str = ft_to_string(table);
|
||||
assert_true( table_str != NULL );
|
||||
const char *table_str_etalon =
|
||||
"*******************\n"
|
||||
"+***+***+****+****+\n"
|
||||
"v v v v v\n"
|
||||
"v 3 v 4 v 55 v 67 v\n"
|
||||
"v v v v v\n"
|
||||
"*******************\n"
|
||||
"+***#***#****#****+\n"
|
||||
"= = = = =\n"
|
||||
"= 3 = 4 = 55 = 67 =\n"
|
||||
"= = = = =\n"
|
||||
"|||||||||||||||||||\n"
|
||||
"+|||#|||#||||#||||+\n"
|
||||
"= = = = =\n"
|
||||
"= 3 = 4 = 55 = 67 =\n"
|
||||
"= = = = =\n"
|
||||
"|||||||||||||||||||\n";
|
||||
"+|||+|||+||||+||||+\n";
|
||||
// fprintf(stderr, "content:\n%s", table_str);
|
||||
|
||||
assert_true( strcmp(table_str, table_str_etalon) == 0);
|
||||
@@ -564,40 +673,63 @@ void test_table_options(void **state)
|
||||
|
||||
|
||||
|
||||
#define BOR_CHARS table_options.border_chars
|
||||
#define H_BOR_CHARS table_options.header_border_chars
|
||||
//#define BOR_CHARS table_options.border_chars
|
||||
//#define H_BOR_CHARS table_options.header_border_chars
|
||||
|
||||
BOR_CHARS[TL_bip] = BOR_CHARS[TT_bip] = BOR_CHARS[TV_bip] = BOR_CHARS[TR_bip] = '|';
|
||||
BOR_CHARS[LH_bip] = BOR_CHARS[IH_bip] = BOR_CHARS[II_bip] = BOR_CHARS[RH_bip] = '\0';
|
||||
BOR_CHARS[BL_bip] = BOR_CHARS[BB_bip] = BOR_CHARS[BV_bip] = BOR_CHARS[BR_bip] = '|';
|
||||
BOR_CHARS[LL_bip] = BOR_CHARS[IV_bip] = BOR_CHARS[RR_bip] = '=';
|
||||
// BOR_CHARS[TL_bip] = BOR_CHARS[TT_bip] = BOR_CHARS[TV_bip] = BOR_CHARS[TR_bip] = '|';
|
||||
// BOR_CHARS[LH_bip] = BOR_CHARS[IH_bip] = BOR_CHARS[II_bip] = BOR_CHARS[RH_bip] = '\0';
|
||||
// BOR_CHARS[BL_bip] = BOR_CHARS[BB_bip] = BOR_CHARS[BV_bip] = BOR_CHARS[BR_bip] = '|';
|
||||
// BOR_CHARS[LL_bip] = BOR_CHARS[IV_bip] = BOR_CHARS[RR_bip] = '=';
|
||||
|
||||
|
||||
H_BOR_CHARS[TL_bip] = H_BOR_CHARS[TT_bip] = H_BOR_CHARS[TV_bip] = H_BOR_CHARS[TR_bip] = '*';
|
||||
H_BOR_CHARS[LH_bip] = H_BOR_CHARS[IH_bip] = H_BOR_CHARS[II_bip] = H_BOR_CHARS[RH_bip] = '*';
|
||||
H_BOR_CHARS[BL_bip] = H_BOR_CHARS[BB_bip] = H_BOR_CHARS[BV_bip] = H_BOR_CHARS[BR_bip] = '*';
|
||||
H_BOR_CHARS[LL_bip] = H_BOR_CHARS[IV_bip] = H_BOR_CHARS[RR_bip] = 'v';
|
||||
// H_BOR_CHARS[TL_bip] = H_BOR_CHARS[TT_bip] = H_BOR_CHARS[TV_bip] = H_BOR_CHARS[TR_bip] = '*';
|
||||
// H_BOR_CHARS[LH_bip] = H_BOR_CHARS[IH_bip] = H_BOR_CHARS[II_bip] = H_BOR_CHARS[RH_bip] = '*';
|
||||
// H_BOR_CHARS[BL_bip] = H_BOR_CHARS[BB_bip] = H_BOR_CHARS[BV_bip] = H_BOR_CHARS[BR_bip] = '*';
|
||||
// H_BOR_CHARS[LL_bip] = H_BOR_CHARS[IV_bip] = H_BOR_CHARS[RR_bip] = 'v';
|
||||
|
||||
#undef BOR_CHARS
|
||||
#undef H_BOR_CHARS
|
||||
//#undef BOR_CHARS
|
||||
//#undef H_BOR_CHARS
|
||||
|
||||
// table_options.cell_padding_bottom = 0;
|
||||
// table_options.cell_padding_top = 0;
|
||||
// table_options.cell_padding_left = 1;
|
||||
// table_options.cell_padding_right = 1;
|
||||
// table_options.cell_empty_string_height = 0;
|
||||
// ft_set_default_options(&table_options);
|
||||
|
||||
border_chs.top_border_ch = '|';
|
||||
border_chs.separator_ch = '\0';
|
||||
border_chs.bottom_border_ch = '|';
|
||||
border_chs.side_border_ch = '=';
|
||||
border_chs.out_intersect_ch = '+';
|
||||
border_chs.in_intersect_ch = '\0';
|
||||
|
||||
header_border_chs.top_border_ch = '*';
|
||||
header_border_chs.separator_ch = '*';
|
||||
header_border_chs.bottom_border_ch = '*';
|
||||
header_border_chs.side_border_ch = 'v';
|
||||
header_border_chs.out_intersect_ch = '+';
|
||||
header_border_chs.in_intersect_ch = '#';
|
||||
|
||||
ft_set_default_borders(&border_chs, &header_border_chs);
|
||||
|
||||
ft_set_default_option(FT_OPT_BOTTOM_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_TOP_PADDING, 0);
|
||||
ft_set_default_option(FT_OPT_LEFT_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_RIGHT_PADDING, 1);
|
||||
ft_set_default_option(FT_OPT_EMPTY_STR_HEIGHT, 0);
|
||||
|
||||
table_options.cell_padding_bottom = 0;
|
||||
table_options.cell_padding_top = 0;
|
||||
table_options.cell_padding_left = 1;
|
||||
table_options.cell_padding_right = 1;
|
||||
table_options.cell_empty_string_height = 0;
|
||||
ft_set_default_options(&table_options);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
table_str = ft_to_string(table);
|
||||
assert_true( table_str != NULL );
|
||||
table_str_etalon =
|
||||
"*******************\n"
|
||||
"+***+***+****+****+\n"
|
||||
"v 3 v 4 v 55 v 67 v\n"
|
||||
"*******************\n"
|
||||
"+***#***#****#****+\n"
|
||||
"= 3 = 4 = 55 = 67 =\n"
|
||||
"= 3 = 4 = 55 = 67 =\n"
|
||||
"|||||||||||||||||||\n";
|
||||
"+|||+|||+||||+||||+\n";
|
||||
// fprintf(stderr, "content:\n%s", table_str);
|
||||
|
||||
assert_true( strcmp(table_str, table_str_etalon) == 0);
|
||||
@@ -606,15 +738,21 @@ void test_table_options(void **state)
|
||||
}
|
||||
|
||||
WHEN("Setting options for a particular table") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
table_options.cell_padding_bottom = 0;
|
||||
table_options.cell_padding_top = 0;
|
||||
table_options.cell_padding_left = 0;
|
||||
table_options.cell_padding_right = 0;
|
||||
ft_set_default_options(&table_options);
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// table_options.cell_padding_bottom = 0;
|
||||
// table_options.cell_padding_top = 0;
|
||||
// table_options.cell_padding_left = 0;
|
||||
// table_options.cell_padding_right = 0;
|
||||
// ft_set_default_options(&table_options);
|
||||
|
||||
table = create_test_int_table(0);
|
||||
set_test_options_for_table(table);
|
||||
|
||||
ft_set_table_option(table, FT_OPT_BOTTOM_PADDING, 0);
|
||||
ft_set_table_option(table, FT_OPT_TOP_PADDING, 0);
|
||||
ft_set_table_option(table, FT_OPT_LEFT_PADDING, 0);
|
||||
ft_set_table_option(table, FT_OPT_RIGHT_PADDING, 0);
|
||||
|
||||
const char *table_str = ft_to_string(table);
|
||||
assert_true( table_str != NULL );
|
||||
@@ -630,11 +768,18 @@ void test_table_options(void **state)
|
||||
|
||||
assert_true( strcmp(table_str, table_str_etalon) == 0);
|
||||
|
||||
table_options.cell_padding_bottom = 1;
|
||||
table_options.cell_padding_top = 1;
|
||||
table_options.cell_padding_left = 0;
|
||||
table_options.cell_padding_right = 0;
|
||||
ft_set_table_options(table, &table_options);
|
||||
// table_options.cell_padding_bottom = 1;
|
||||
// table_options.cell_padding_top = 1;
|
||||
// table_options.cell_padding_left = 0;
|
||||
// table_options.cell_padding_right = 0;
|
||||
// ft_set_table_options(table, &table_options);
|
||||
|
||||
ft_set_table_option(table, FT_OPT_BOTTOM_PADDING, 1);
|
||||
ft_set_table_option(table, FT_OPT_TOP_PADDING, 1);
|
||||
ft_set_table_option(table, FT_OPT_LEFT_PADDING, 0);
|
||||
ft_set_table_option(table, FT_OPT_RIGHT_PADDING, 0);
|
||||
ft_set_table_option(table, FT_OPT_EMPTY_STR_HEIGHT, 0);
|
||||
|
||||
table_str = ft_to_string(table);
|
||||
assert_true( table_str != NULL );
|
||||
table_str_etalon =
|
||||
@@ -660,14 +805,15 @@ void test_table_options(void **state)
|
||||
|
||||
|
||||
WHEN("Set table width and column alignment") {
|
||||
fort_table_options_t table_options;
|
||||
memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
table_options.cell_padding_bottom = 1;
|
||||
table_options.cell_padding_top = 1;
|
||||
table_options.cell_padding_left = 1;
|
||||
table_options.cell_padding_right = 1;
|
||||
ft_set_default_options(&table_options);
|
||||
// fort_table_options_t table_options;
|
||||
// memcpy(&table_options, &test_table_opts, sizeof(fort_table_options_t));
|
||||
// table_options.cell_padding_bottom = 1;
|
||||
// table_options.cell_padding_top = 1;
|
||||
// table_options.cell_padding_left = 1;
|
||||
// table_options.cell_padding_right = 1;
|
||||
// ft_set_default_options(&table_options);
|
||||
|
||||
set_test_options_as_default();
|
||||
|
||||
table = create_test_int_table(0);
|
||||
ft_set_column_min_width(table, 1, 7);
|
||||
|
Reference in New Issue
Block a user