From c111e0424179579516d1ea8c88046cb2debb053b Mon Sep 17 00:00:00 2001 From: tasn Date: Mon, 11 Jul 2011 07:23:18 +0000 Subject: [PATCH] Evas tests: Added more textblock tests, including a test for the last fix. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@61228 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/tests/evas_test_textblock.c | 91 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 3 deletions(-) diff --git a/src/tests/evas_test_textblock.c b/src/tests/evas_test_textblock.c index a70b10d..ad1f1e8 100644 --- a/src/tests/evas_test_textblock.c +++ b/src/tests/evas_test_textblock.c @@ -26,6 +26,7 @@ static const char *style_buf = evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); \ tb = evas_object_textblock_add(evas); \ fail_if(!tb); \ + evas_object_textblock_newline_mode_set(tb, EINA_FALSE); \ st = evas_textblock_style_new(); \ fail_if(!st); \ evas_textblock_style_set(st, style_buf); \ @@ -78,7 +79,6 @@ START_TEST(evas_textblock_cursor) { START_TB_TEST(); size_t i, len; - evas_object_textblock_newline_mode_set(tb, EINA_FALSE); const char *buf = "This is a
test.Lets see if this works.עוד פסקה."; /* Walk the textblock using cursor_char_next */ @@ -330,6 +330,90 @@ START_TEST(evas_textblock_editing) } END_TEST +/* Text getters */ +START_TEST(evas_textblock_text_getters) +{ + START_TB_TEST(); + const char *buf = "This is a
test." + "טקסט בעבריתand now in english."; + evas_object_textblock_text_markup_set(tb, buf); + evas_textblock_cursor_paragraph_first(cur); + + fail_if(strcmp(evas_textblock_cursor_paragraph_text_get(cur), + "This is a
test.")); + + evas_textblock_cursor_paragraph_next(cur); + fail_if(strcmp(evas_textblock_cursor_paragraph_text_get(cur), + "טקסט בעברית")); + + evas_textblock_cursor_paragraph_next(cur); + fail_if(strcmp(evas_textblock_cursor_paragraph_text_get(cur), + "and now in english.")); + + /* Range get */ + Evas_Textblock_Cursor *main_cur = evas_object_textblock_cursor_get(tb); + evas_textblock_cursor_pos_set(main_cur, 2); + evas_textblock_cursor_pos_set(cur, 2); + fail_if(*evas_textblock_cursor_range_text_get(main_cur, cur, + EVAS_TEXTBLOCK_TEXT_MARKUP)); + + evas_textblock_cursor_pos_set(main_cur, 2); + evas_textblock_cursor_pos_set(cur, 6); + fail_if(strcmp(evas_textblock_cursor_range_text_get(main_cur, cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "is i")); + + evas_textblock_cursor_pos_set(main_cur, 5); + evas_textblock_cursor_pos_set(cur, 14); + fail_if(strcmp(evas_textblock_cursor_range_text_get(main_cur, cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "is a
te")); + + evas_textblock_cursor_pos_set(main_cur, 14); + evas_textblock_cursor_pos_set(cur, 20); + fail_if(strcmp(evas_textblock_cursor_range_text_get(main_cur, cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "st.טק")); + + evas_textblock_cursor_pos_set(main_cur, 14); + evas_textblock_cursor_pos_set(cur, 32); + fail_if(strcmp(evas_textblock_cursor_range_text_get(main_cur, cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "st.טקסט בעבריתan")); + + /* Backward range get */ + evas_textblock_cursor_pos_set(main_cur, 2); + evas_textblock_cursor_pos_set(cur, 2); + fail_if(*evas_textblock_cursor_range_text_get(cur, main_cur, + EVAS_TEXTBLOCK_TEXT_MARKUP)); + + evas_textblock_cursor_pos_set(main_cur, 2); + evas_textblock_cursor_pos_set(cur, 6); + fail_if(strcmp(evas_textblock_cursor_range_text_get(cur, main_cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "is i")); + + evas_textblock_cursor_pos_set(main_cur, 5); + evas_textblock_cursor_pos_set(cur, 14); + fail_if(strcmp(evas_textblock_cursor_range_text_get(cur, main_cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "is a
te")); + + evas_textblock_cursor_pos_set(main_cur, 14); + evas_textblock_cursor_pos_set(cur, 20); + fail_if(strcmp(evas_textblock_cursor_range_text_get(cur, main_cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "st.טק")); + + evas_textblock_cursor_pos_set(main_cur, 14); + evas_textblock_cursor_pos_set(cur, 32); + fail_if(strcmp(evas_textblock_cursor_range_text_get(cur, main_cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "st.טקסט בעבריתan")); + + /* Uninit cursors and other weird cases */ + evas_object_textblock_clear(tb); + evas_textblock_cursor_copy(main_cur, cur); + evas_textblock_cursor_text_prepend(main_cur, "aaa"); + fail_if(strcmp(evas_textblock_cursor_range_text_get(cur, main_cur, + EVAS_TEXTBLOCK_TEXT_MARKUP), "aaa")); + + END_TB_TEST(); +} +END_TEST + /* Different text styles, for example, shadow. */ START_TEST(evas_textblock_style) { @@ -374,13 +458,13 @@ START_TEST(evas_textblock_size) fail_if((w != nw) || (h != nh)); fail_if(w != 0); - evas_object_textblock_text_markup_set(tb, "
"); + evas_object_textblock_text_markup_set(tb, "a
a"); evas_object_textblock_size_formatted_get(tb, &w, &h2); evas_object_textblock_size_native_get(tb, &nw, &nh); fail_if((w != nw) || (h2 != nh)); /* Two lines == double the height */ - fail_if((w != 0) || (h * 2 != h2)); + fail_if(h * 2 != h2); evas_object_textblock_text_markup_set(tb, buf); @@ -402,5 +486,6 @@ void evas_test_textblock(TCase *tc) tcase_add_test(tc, evas_textblock_editing); tcase_add_test(tc, evas_textblock_style); tcase_add_test(tc, evas_textblock_aux); + tcase_add_test(tc, evas_textblock_text_getters); } -- 2.7.4