1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 
5 #include "elm_suite.h"
6 #include "Elementary.h"
7 
EFL_START_TEST(elm_code_line_create_test)8 EFL_START_TEST(elm_code_line_create_test)
9 {
10    Elm_Code *code;
11    Elm_Code_File *file;
12    Elm_Code_Line *line;
13 
14    char *args[] = { "exe" };
15    elm_init(1, args);
16    code = elm_code_create();
17    file = elm_code_file_new(code);
18 
19    elm_code_file_line_append(file, "a test string...", 16, NULL);
20    line = elm_code_file_line_get(file, 1);
21 
22    ck_assert(!!line);
23 
24    elm_code_free(code);
25    elm_shutdown();
26 }
27 EFL_END_TEST
28 
EFL_START_TEST(elm_code_line_token_count_test)29 EFL_START_TEST(elm_code_line_token_count_test)
30 {
31    Elm_Code *code;
32    Elm_Code_File *file;
33    Elm_Code_Line *line;
34 
35    char *args[] = { "exe" };
36    elm_init(1, args);
37    code = elm_code_create();
38    file = elm_code_file_new(code);
39 
40    elm_code_file_line_append(file, "a test string...", 16, NULL);
41    line = elm_code_file_line_get(file, 1);
42 
43    ck_assert_int_eq(0, eina_list_count(line->tokens));
44    elm_code_line_token_add(line, 2, 5, 1, ELM_CODE_TOKEN_TYPE_COMMENT);
45    ck_assert_int_eq(1, eina_list_count(line->tokens));
46    elm_code_line_tokens_clear(line);
47    ck_assert_int_eq(0, eina_list_count(line->tokens));
48 
49    elm_code_free(code);
50    elm_shutdown();
51 }
52 EFL_END_TEST
53 
EFL_START_TEST(elm_code_line_split_test)54 EFL_START_TEST(elm_code_line_split_test)
55 {
56    Elm_Code *code;
57    Elm_Code_File *file;
58    Elm_Code_Line *line, *newline;
59 
60    char *args[] = { "exe" };
61    elm_init(1, args);
62    code = elm_code_create();
63    file = elm_code_file_new(code);
64 
65    elm_code_file_line_append(file, "line1line2", 10, NULL);
66    line = elm_code_file_line_get(file, 1);
67    ck_assert_int_eq(1, elm_code_file_lines_get(file));
68    ck_assert_int_eq(10, line->length);
69 
70    elm_code_line_split_at(line, 5);
71    ck_assert_int_eq(2, elm_code_file_lines_get(file));
72    newline = elm_code_file_line_get(file, 2);
73    ck_assert_int_eq(5, line->length);
74    ck_assert_int_eq(5, newline->length);
75    elm_shutdown();
76 }
77 EFL_END_TEST
78 
elm_code_test_line(TCase * tc)79 void elm_code_test_line(TCase *tc)
80 {
81    tcase_add_test(tc, elm_code_line_create_test);
82    tcase_add_test(tc, elm_code_line_token_count_test);
83    tcase_add_test(tc, elm_code_line_split_test);
84 }
85