Commit db05a3f6 authored by Dominik Charousset's avatar Dominik Charousset

Get rid of verbose switch-case statements

parent b375fa2e
......@@ -74,7 +74,7 @@ struct dummy_fixture { };
template <class T>
class test_impl : public test {
public:
test_impl(std::string name) : test(std::move(name)) {
test_impl(std::string test_name) : test(std::move(test_name)) {
// nop
}
......@@ -286,23 +286,17 @@ class engine {
int m_argc = 0;
char** m_argv = nullptr;
char* m_path = nullptr;
const char* m_reset = "\033[0m";
const char* m_black = "\033[30m";
const char* m_red = "\033[31m";
const char* m_green = "\033[32m";
const char* m_yellow = "\033[33m";
const char* m_blue = "\033[34m";
const char* m_magenta = "\033[35m";
const char* m_cyan = "\033[36m";
const char* m_white = "\033[37m";
const char* m_bold_black = "\033[1m\033[30m";
const char* m_bold_red = "\033[1m\033[31m";
const char* m_bold_green = "\033[1m\033[32m";
const char* m_bold_yellow = "\033[1m\033[33m";
const char* m_bold_blue = "\033[1m\033[34m";
const char* m_bold_magenta = "\033[1m\033[35m";
const char* m_bold_cyan = "\033[1m\033[36m";
const char* m_bold_white = "\033[1m\033[37m";
const char* m_colors[9][2] = {
{"\033[0m", "\033[0m"}, // reset
{"\033[30m", "\033[1m\033[30m"}, // black
{"\033[31m", "\033[1m\033[31m"}, // red
{"\033[32m", "\033[1m\033[32m"}, // green
{"\033[33m", "\033[1m\033[33m"}, // yellow
{"\033[34m", "\033[1m\033[34m"}, // blue
{"\033[35m", "\033[1m\033[35m"}, // magenta
{"\033[36m", "\033[1m\033[36m"}, // cyan
{"\033[37m", "\033[1m\033[37m"} // white
};
const char* m_check_file = "<none>";
size_t m_check_line = 0;
test* m_current_test = nullptr;
......
......@@ -268,23 +268,11 @@ bool engine::run(bool colorize,
return true;
}
if (!colorize) {
instance().m_reset = "";
instance().m_black = "";
instance().m_red = "";
instance().m_green = "";
instance().m_yellow = "";
instance().m_blue = "";
instance().m_magenta = "";
instance().m_cyan = "";
instance().m_white = "";
instance().m_bold_black = "";
instance().m_bold_red = "";
instance().m_bold_green = "";
instance().m_bold_yellow = "";
instance().m_bold_blue = "";
instance().m_bold_magenta = "";
instance().m_bold_cyan = "";
instance().m_bold_white = "";
for (size_t i = 0; i <= static_cast<size_t>(white); ++i) {
for (size_t j = 0; j <= static_cast<size_t>(bold); ++j) {
instance().m_colors[i][j] = "";
}
}
}
if (!logger::init(verbosity_console, verbosity_file, log_file)) {
return false;
......@@ -445,55 +433,7 @@ bool engine::run(bool colorize,
}
const char* engine::color(color_value v, color_face t) {
if (v == reset) {
return instance().m_reset;
}
switch (t) {
default:
return nullptr;
case normal:
switch (v) {
default:
return nullptr;
case black:
return instance().m_black;
case red:
return instance().m_red;
case green:
return instance().m_green;
case yellow:
return instance().m_yellow;
case blue:
return instance().m_blue;
case magenta:
return instance().m_magenta;
case cyan:
return instance().m_cyan;
case white:
return instance().m_white;
}
case bold:
switch (v) {
default:
return nullptr;
case black:
return instance().m_bold_black;
case red:
return instance().m_bold_red;
case green:
return instance().m_bold_green;
case yellow:
return instance().m_bold_yellow;
case blue:
return instance().m_bold_blue;
case magenta:
return instance().m_bold_magenta;
case cyan:
return instance().m_bold_cyan;
case white:
return instance().m_bold_white;
}
}
return instance().m_colors[static_cast<size_t>(v)][static_cast<size_t>(t)];
}
const char* engine::last_check_file() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment