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