2014-11-13 15:26:30 -08:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "config.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "elm_code_suite.h"
|
|
|
|
|
2015-04-04 10:17:01 -07:00
|
|
|
#include "widget/elm_code_widget.c"
|
2015-05-18 11:40:06 -07:00
|
|
|
#include "widget/elm_code_widget_tooltip.c"
|
2014-12-05 07:39:40 -08:00
|
|
|
|
2014-11-19 15:20:23 -08:00
|
|
|
static void _assert_cell_type(Evas_Textgrid_Cell cell, Elm_Code_Token_Type type, int id)
|
2014-11-13 15:26:30 -08:00
|
|
|
{
|
2014-11-19 15:20:23 -08:00
|
|
|
ck_assert_msg(cell.fg == type, "Wrong type for cell %d", id);
|
2014-11-13 15:26:30 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
START_TEST (elm_code_widget_token_render_simple_test)
|
|
|
|
{
|
|
|
|
Elm_Code_File *file;
|
|
|
|
Elm_Code_Line *line;
|
2014-11-16 15:52:41 -08:00
|
|
|
Elm_Code *code;
|
2015-03-29 12:52:38 -07:00
|
|
|
Elm_Code_Widget *widget;
|
|
|
|
Evas_Object *win;
|
|
|
|
|
2014-11-13 15:26:30 -08:00
|
|
|
int length;
|
|
|
|
|
|
|
|
Evas_Textgrid_Cell cells[25];
|
|
|
|
|
2015-03-29 12:52:38 -07:00
|
|
|
elm_init(1, NULL);
|
2014-11-16 15:52:41 -08:00
|
|
|
code = elm_code_create();
|
2015-03-29 12:52:38 -07:00
|
|
|
|
|
|
|
win = elm_win_add(NULL, "code", ELM_WIN_BASIC);
|
2015-06-02 00:22:36 -07:00
|
|
|
widget = elm_code_widget_add(win, code);
|
2015-03-29 12:52:38 -07:00
|
|
|
|
2014-11-28 00:55:42 -08:00
|
|
|
file = code->file;
|
2015-02-14 15:14:06 -08:00
|
|
|
elm_code_file_line_append(file, "some \"test content\", 45", 23, NULL);
|
2014-11-13 15:26:30 -08:00
|
|
|
line = elm_code_file_line_get(file, 1);
|
2014-11-19 15:20:23 -08:00
|
|
|
length = line->length;
|
|
|
|
|
2015-06-03 13:29:31 -07:00
|
|
|
elm_code_line_token_add(line, 6, 17, 1, ELM_CODE_TOKEN_TYPE_COMMENT);
|
|
|
|
elm_code_line_token_add(line, 21, 22, 1, ELM_CODE_TOKEN_TYPE_COMMENT);
|
2014-11-19 15:20:23 -08:00
|
|
|
|
2015-03-29 12:52:38 -07:00
|
|
|
_elm_code_widget_fill_line_tokens(widget, cells, length+1, line);
|
2014-11-19 15:20:23 -08:00
|
|
|
_assert_cell_type(cells[1], ELM_CODE_TOKEN_TYPE_DEFAULT, 1);
|
|
|
|
_assert_cell_type(cells[4], ELM_CODE_TOKEN_TYPE_DEFAULT, 4);
|
|
|
|
_assert_cell_type(cells[6], ELM_CODE_TOKEN_TYPE_DEFAULT, 6);
|
|
|
|
_assert_cell_type(cells[16], ELM_CODE_TOKEN_TYPE_COMMENT, 16);
|
|
|
|
_assert_cell_type(cells[20], ELM_CODE_TOKEN_TYPE_DEFAULT, 20);
|
|
|
|
_assert_cell_type(cells[23], ELM_CODE_TOKEN_TYPE_COMMENT, 23);
|
2014-11-13 15:26:30 -08:00
|
|
|
|
2014-11-16 15:52:41 -08:00
|
|
|
elm_code_free(code);
|
2015-03-29 12:52:38 -07:00
|
|
|
elm_shutdown();
|
2014-11-13 15:26:30 -08:00
|
|
|
}
|
|
|
|
END_TEST
|
|
|
|
|
2015-02-28 05:22:38 -08:00
|
|
|
START_TEST (elm_code_widget_construct)
|
|
|
|
{
|
|
|
|
Elm_Code *code;
|
2015-03-25 15:59:42 -07:00
|
|
|
Elm_Code_Widget *widget;
|
|
|
|
Evas_Object *win;
|
2015-02-28 05:22:38 -08:00
|
|
|
|
|
|
|
elm_init(1, NULL);
|
|
|
|
code = elm_code_create();
|
|
|
|
|
|
|
|
win = elm_win_add(NULL, "entry", ELM_WIN_BASIC);
|
2015-06-02 00:22:36 -07:00
|
|
|
widget = elm_code_widget_add(win, code);
|
2015-02-28 05:22:38 -08:00
|
|
|
|
|
|
|
ck_assert(!!widget);
|
|
|
|
elm_code_free(code);
|
|
|
|
elm_shutdown();
|
|
|
|
}
|
|
|
|
END_TEST
|
|
|
|
|
|
|
|
START_TEST (elm_code_widget_construct_nocode)
|
|
|
|
{
|
2015-03-25 15:59:42 -07:00
|
|
|
Elm_Code_Widget *widget;
|
|
|
|
Evas_Object *win;
|
2015-02-28 05:22:38 -08:00
|
|
|
|
|
|
|
elm_init(1, NULL);
|
|
|
|
|
|
|
|
win = elm_win_add(NULL, "entry", ELM_WIN_BASIC);
|
|
|
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, win);
|
|
|
|
ck_assert(!widget);
|
|
|
|
|
|
|
|
elm_shutdown();
|
|
|
|
}
|
|
|
|
END_TEST
|
|
|
|
|
2014-11-13 15:26:30 -08:00
|
|
|
void elm_code_test_widget(TCase *tc)
|
|
|
|
{
|
|
|
|
tcase_add_test(tc, elm_code_widget_token_render_simple_test);
|
2015-02-28 05:22:38 -08:00
|
|
|
tcase_add_test(tc, elm_code_widget_construct);
|
|
|
|
tcase_add_test(tc, elm_code_widget_construct_nocode);
|
2014-11-13 15:26:30 -08:00
|
|
|
}
|
|
|
|
|