diff --git a/src/ec_cmd_log.erl b/src/ec_cmd_log.erl index b41443e..a1f2713 100644 --- a/src/ec_cmd_log.erl +++ b/src/ec_cmd_log.erl @@ -43,14 +43,8 @@ colorize/4, format/1]). --include("ec_cmd_log.hrl"). - --define(RED, $r). --define(GREEN, $g). --define(YELLOW, $y). --define(BLUE, $b). --define(MAGENTA, $m). --define(CYAN, $c). +-include("include/ec_cmd_log.hrl"). +-include("src/ec_cmd_log.hrl"). -define(PREFIX, "===> "). @@ -261,44 +255,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/src/ec_cmd_log.hrl b/src/ec_cmd_log.hrl new file mode 100644 index 0000000..428fd74 --- /dev/null +++ b/src/ec_cmd_log.hrl @@ -0,0 +1,7 @@ +%%% @copyright 2024 Erlware, LLC. +-define(RED, $r). +-define(GREEN, $g). +-define(YELLOW, $y). +-define(BLUE, $b). +-define(MAGENTA, $m). +-define(CYAN, $c). diff --git a/test/ec_cmd_log_tests.erl b/test/ec_cmd_log_tests.erl new file mode 100644 index 0000000..f1d1181 --- /dev/null +++ b/test/ec_cmd_log_tests.erl @@ -0,0 +1,39 @@ +%%% @copyright 2024 Erlware, LLC. +-module(ec_cmd_log_tests). + +-include("include/ec_cmd_log.hrl"). +-include("src/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")).