/[LeafOK_CVS]/lbbs/src/test_lml.c
ViewVC logotype

Diff of /lbbs/src/test_lml.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.6 by sysadm, Tue Jun 3 03:41:19 2025 UTC Revision 1.16 by sysadm, Fri Oct 24 03:57:45 2025 UTC
# Line 1  Line 1 
1  /***************************************************************************  /***************************************************************************
2                                               test_lml.c  -  description                                                   test_lml.c  -  description
3                                                           -------------------                                                           -------------------
4          Copyright            : (C) 2004-2025 by Leaflet          Copyright            : (C) 2004-2025 by Leaflet
5          Email                : leaflet@leafok.com          Email                : leaflet@leafok.com
# Line 16  Line 16 
16    
17  #include "lml.h"  #include "lml.h"
18  #include "log.h"  #include "log.h"
19    #include <errno.h>
20  #include <stdio.h>  #include <stdio.h>
21  #include <string.h>  #include <string.h>
22  #include <unistd.h>  #include <unistd.h>
 #include <errno.h>  
23    
24  #define STR_OUT_BUF_SIZE 1024  #define STR_OUT_BUF_SIZE 256
25    
26  const char *str_in[] = {  const char *str_in[] = {
27          "[left]ABCD[right]EFG",          "[left]ABCD[right]EFG",
28          "A[u]B[italic]CD[/i]E[/u]F[b]G[/bold]",          "A[u]B[italic]CD[/i]E[/u]F[b]G[/bold]",
29          "A[url BCDE[/url]FG",          "A[url BC DE]测试a网址[/url]FG",
30          "AB[email CDE]F[/eMAil]G01[emaiL]23456[/email]789",          "AB[email CDE]F[/eMAil]G01[emaiL]23456[/email]789",
31          "A[user DE]BC[  /User  ]FG",          "A[user DE]BC[/User]FG",
32          "[article A B CD]EF[/article   ]G",          "[article A B CD]EF[  /article]G[article]123[/article]456",
33          "A[ image  BCD]EFG",          "A[ image  BCD]EFG",
34          "AB[ Flash  CDE ]FG",          "AB[ Flash  CDE ]FG",
35          "AB[bwf]CDEFG",          "AB[bwf]CDEFG",
36          "[lef]A[rightBCD[right]EF[left[left[]G[left",          "[lef]A[rightBCD[right]EF[left[left[]G[left",
37          "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[ 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]",
38          "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",          "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",
39          ": ABCDE[quote]FG\r\nab[/quote]cd[quote]ef[quote]g\r\n: : 012[/quote]345[/quote]6789\nABC[quote]DEFG"          ": ABCDE[quote]FG\r\nab[/quote]cd[quote]ef[quote]g\r\n: : 012[/quote]345[/quote]6789\nABC[quote]DEFG",
40            "abc",
41            "123456",
42            "[color red]Red[/color][plain][color blue]Blue[/color][plain]",
43            "[color yellow]Yellow[/color][nolml][left][color blue]Blue[/color][right][lml][color red]Red[/color]",
44  };  };
45    
46  int str_cnt = 13;  const int str_cnt = sizeof(str_in) / sizeof(const char *);
47    
48  int main(int argc, char *argv[])  int main(int argc, char *argv[])
49  {  {
# Line 53  int main(int argc, char *argv[]) Line 57  int main(int argc, char *argv[])
57                  return -1;                  return -1;
58          }          }
59    
60          log_std_redirect(STDOUT_FILENO);          log_common_redir(STDOUT_FILENO);
61          log_err_redirect(STDERR_FILENO);          log_error_redir(STDERR_FILENO);
62    
63            printf("Test #1: lml_tag = 1\n");
64            for (i = 0; i < str_cnt; i++)
65            {
66                    j = lml_render(str_in[i], str_out_buf, sizeof(str_out_buf), 0);
67    
68                    printf("Input(len=%ld): %s\nOutput(len=%d): %s\n", strlen(str_in[i]), str_in[i], j, str_out_buf);
69            }
70            printf("Test #1: Done\n");
71    
72            printf("Test #2: lml_tag = 0\n");
73          for (i = 0; i < str_cnt; i++)          for (i = 0; i < str_cnt; i++)
74          {          {
75                  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);
76    
77                  printf("Input(len=%ld): %s\nOutput(len=%d): %s\n", strlen(str_in[i]), str_in[i], j, str_out_buf);                  printf("Input(len=%ld): %s\nOutput(len=%d): %s\n", strlen(str_in[i]), str_in[i], j, str_out_buf);
78          }          }
79            printf("Test #2: Done\n");
80    
81          log_end();          log_end();
82    


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1