diff --git a/include/ec_cmd_log.hrl b/include/ec_cmd_log.hrl index 170d399..5eb15b6 100644 --- a/include/ec_cmd_log.hrl +++ b/include/ec_cmd_log.hrl @@ -22,3 +22,10 @@ -define(EC_WARN, 1). -define(EC_INFO, 2). -define(EC_DEBUG, 3). + +-define(RED, $r). +-define(GREEN, $g). +-define(YELLOW, $y). +-define(BLUE, $b). +-define(MAGENTA, $m). +-define(CYAN, $c). diff --git a/src/ec_cmd_log.erl b/src/ec_cmd_log.erl index b41443e..f151a0f 100644 --- a/src/ec_cmd_log.erl +++ b/src/ec_cmd_log.erl @@ -45,13 +45,6 @@ -include("ec_cmd_log.hrl"). --define(RED, $r). --define(GREEN, $g). --define(YELLOW, $y). --define(BLUE, $b). --define(MAGENTA, $m). --define(CYAN, $c). - -define(PREFIX, "===> "). -record(state_t, {log_level=0 :: int_log_level(), @@ -261,44 +254,3 @@ colorize(#state_t{caller=command_line, intensity = low}, lists:flatten(cf:format("~!" ++ [Color] ++"~ts~!!~ts", [?PREFIX, Msg])); colorize(_LogState, _Color, _Bold, Msg) -> Msg. - -%%%=================================================================== -%%% Test Functions -%%%=================================================================== - --ifdef(TEST). --include_lib("eunit/include/eunit.hrl"). - -should_test() -> - ErrorLogState = new(error), - ?assertMatch(true, should(ErrorLogState, ?EC_ERROR)), - ?assertMatch(true, not should(ErrorLogState, ?EC_INFO)), - ?assertMatch(true, not should(ErrorLogState, ?EC_DEBUG)), - ?assertEqual(?EC_ERROR, log_level(ErrorLogState)), - ?assertEqual(error, atom_log_level(ErrorLogState)), - - InfoLogState = new(info), - ?assertMatch(true, should(InfoLogState, ?EC_ERROR)), - ?assertMatch(true, should(InfoLogState, ?EC_INFO)), - ?assertMatch(true, not should(InfoLogState, ?EC_DEBUG)), - ?assertEqual(?EC_INFO, log_level(InfoLogState)), - ?assertEqual(info, atom_log_level(InfoLogState)), - - DebugLogState = new(debug), - ?assertMatch(true, should(DebugLogState, ?EC_ERROR)), - ?assertMatch(true, should(DebugLogState, ?EC_INFO)), - ?assertMatch(true, should(DebugLogState, ?EC_DEBUG)), - ?assertEqual(?EC_DEBUG, log_level(DebugLogState)), - ?assertEqual(debug, atom_log_level(DebugLogState)). - - -no_color_test() -> - LogState = new(debug, command_line, none), - ?assertEqual("test", - colorize(LogState, ?RED, true, "test")). - -color_test() -> - LogState = new(debug, command_line, high), - ?assertEqual("\e[1;31m===> test\e[0m", - colorize(LogState, ?RED, true, "test")). --endif. diff --git a/test/ec_cmd_log_tests.erl b/test/ec_cmd_log_tests.erl new file mode 100644 index 0000000..2409b37 --- /dev/null +++ b/test/ec_cmd_log_tests.erl @@ -0,0 +1,38 @@ +%%% @copyright 2024 Erlware, LLC. +-module(ec_cmd_log_tests). + +-include("ec_cmd_log.hrl"). +-include_lib("eunit/include/eunit.hrl"). + +should_test() -> + ErrorLogState = ec_cmd_log:new(error), + ?assertMatch(true, ec_cmd_log:should(ErrorLogState, ?EC_ERROR)), + ?assertMatch(true, not ec_cmd_log:should(ErrorLogState, ?EC_INFO)), + ?assertMatch(true, not ec_cmd_log:should(ErrorLogState, ?EC_DEBUG)), + ?assertEqual(?EC_ERROR, ec_cmd_log:log_level(ErrorLogState)), + ?assertEqual(error, ec_cmd_log:atom_log_level(ErrorLogState)), + + InfoLogState = ec_cmd_log:new(info), + ?assertMatch(true, ec_cmd_log:should(InfoLogState, ?EC_ERROR)), + ?assertMatch(true, ec_cmd_log:should(InfoLogState, ?EC_INFO)), + ?assertMatch(true, not ec_cmd_log:should(InfoLogState, ?EC_DEBUG)), + ?assertEqual(?EC_INFO, ec_cmd_log:log_level(InfoLogState)), + ?assertEqual(info, ec_cmd_log:atom_log_level(InfoLogState)), + + DebugLogState = ec_cmd_log:new(debug), + ?assertMatch(true, ec_cmd_log:should(DebugLogState, ?EC_ERROR)), + ?assertMatch(true, ec_cmd_log:should(DebugLogState, ?EC_INFO)), + ?assertMatch(true, ec_cmd_log:should(DebugLogState, ?EC_DEBUG)), + ?assertEqual(?EC_DEBUG, ec_cmd_log:log_level(DebugLogState)), + ?assertEqual(debug, ec_cmd_log:atom_log_level(DebugLogState)). + + +no_color_test() -> + LogState = ec_cmd_log:new(debug, command_line, none), + ?assertEqual("test", + ec_cmd_log:colorize(LogState, ?RED, true, "test")). + +color_test() -> + LogState = ec_cmd_log:new(debug, command_line, high), + ?assertEqual("\e[1;31m===> test\e[0m", + ec_cmd_log:colorize(LogState, ?RED, true, "test")).