--- lbbs/src/test_lml.c 2025/06/02 23:49:47 1.2 +++ lbbs/src/test_lml.c 2025/10/24 07:45:06 1.18 @@ -16,27 +16,35 @@ #include "lml.h" #include "log.h" +#include #include #include #include -#include -#define STR_OUT_BUF_SIZE 1024 +#define STR_OUT_BUF_SIZE 256 const char *str_in[] = { "[left]ABCD[right]EFG", - "A[u]BCDE[/underline]FG", - "A[url BCDE[/url]FG", + "A[u]B[italic]CD[/i]E[/u]F[b]G[/bold]", + "A[url BC DE]测试a网址[/url]FG", "AB[email CDE]F[/eMAil]G01[emaiL]23456[/email]789", - "A[user DE]BC[ /User ]FG", - "[article A B CD]EF[/article ]G", + "A[user DE]BC[/User]FG", + "[article A B CD]EF[ /article]G[article]123[/article]456", "A[ image BCD]EFG", "AB[ Flash CDE ]FG", "AB[bwf]CDEFG", "[lef]A[rightBCD[right]EF[left[left[]G[left", + "A[ color BCD]EF[/color]G[color black]0[/color][color magenta]1[color cyan]23[/color]4[color red]5[/color]6[color yellOw]7[/color]8[color green]9[color blue]0[/color]", + "A[quote]B[quote]C[quote]D[quote]E[/quote]F[/quote]G[/quote]0[/quote]1[/quote]2[quote]3[/quote]4[/quote]56789", + ": ABCDE[quote]FG\r\nab[/quote]cd[quote]ef[quote]g\r\n: : 012[/quote]345[/quote]6789\nABC[quote]DEFG", + "\033[35mabc\033[m", + "123456", + "[color red]Red[/color][plain][color blue]Blue[/color][plain]", + "[color yellow]Yellow[/color][nolml][left][color blue]Blue[/color][right][lml][color red]Red[/color]", + "[abc][left ][ right ][ colory ][left \nABCD[left]EFG[right ", }; -int str_cnt = 10; +const int str_cnt = sizeof(str_in) / sizeof(const char *); int main(int argc, char *argv[]) { @@ -50,15 +58,26 @@ int main(int argc, char *argv[]) return -1; } - log_std_redirect(STDOUT_FILENO); - log_err_redirect(STDERR_FILENO); + log_common_redir(STDOUT_FILENO); + log_error_redir(STDERR_FILENO); + + printf("Test #1: lml_tag = 1\n"); + for (i = 0; i < str_cnt; i++) + { + j = lml_render(str_in[i], str_out_buf, sizeof(str_out_buf), 0); + + printf("Input(len=%ld): %s\nOutput(len=%d): %s\n", strlen(str_in[i]), str_in[i], j, str_out_buf); + } + printf("Test #1: Done\n"); + printf("Test #2: lml_tag = 0\n"); for (i = 0; i < str_cnt; i++) { - j = lml_plain(str_in[i], str_out_buf, sizeof(str_out_buf)); + j = lml_render(str_in[i], str_out_buf, sizeof(str_out_buf), 1); printf("Input(len=%ld): %s\nOutput(len=%d): %s\n", strlen(str_in[i]), str_in[i], j, str_out_buf); } + printf("Test #2: Done\n"); log_end();