size_t trim = -1;
};
+ size_t last_visible_idx = 0;
+
vector<ColumnVars> column_vars;
};
calculate_widths(table, row, false, 0);
calculate_abbriviated_widths(table);
+
+ // calculate last visible idx
+
+ for (size_t idx = 0; idx < column_vars.size(); ++idx)
+ if (!column_vars[idx].hidden)
+ last_visible_idx = idx;
}
column = output_info.trimmed(column, column_params[idx].align, output_info.column_vars[idx].trim);
bool first = idx == 0;
- bool last = idx == output_info.column_vars.size() - 1;
+ bool last = idx == output_info.last_visible_idx;
size_t extra = (idx == tree_idx) ? 2 * lasts.size() : 0;
for (size_t j = 0; j < output_info.column_vars[idx].width; ++j)
s << glyph(1);
- if (idx == output_info.column_vars.size() - 1)
+ if (idx == output_info.last_visible_idx)
break;
s << glyph(1) << glyph(2) << glyph(1);
check(table, output);
}
+
+
+BOOST_AUTO_TEST_CASE(test8)
+{
+ Table table({ "A", "B", Cell("Number", Id::NUMBER, Align::RIGHT) });
+
+ table.set_style(Style::LIGHT);
+ table.set_visibility(Id::NUMBER, Visibility::AUTO);
+
+ Table::Row row1(table, { "a", "b", "" });
+ table.add(row1);
+
+ vector<string> output = {
+ "A │ B",
+ "──┼──",
+ "a │ b"
+ };
+
+ check(table, output);
+}