forked from enlightenment/efl
Evas tests: Added more textblock tests, including one to verify my last fix.
SVN revision: 61233
This commit is contained in:
parent
e01d587617
commit
f046b06c23
|
@ -313,6 +313,34 @@ START_TEST(evas_textblock_cursor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Format positions */
|
||||||
|
const Evas_Object_Textblock_Node_Format *fnode;
|
||||||
|
fnode = evas_textblock_node_format_first_get(tb);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
evas_textblock_cursor_copy(cur, main_cur);
|
||||||
|
fail_if(evas_textblock_cursor_pos_get(cur) != 9);
|
||||||
|
fail_if(evas_textblock_cursor_format_get(cur) != fnode);
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(evas_textblock_cursor_pos_get(cur) != 16);
|
||||||
|
fail_if(evas_textblock_cursor_format_get(cur) != fnode);
|
||||||
|
evas_textblock_cursor_format_next(main_cur);
|
||||||
|
fail_if(evas_textblock_cursor_compare(main_cur, cur));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(evas_textblock_cursor_pos_get(cur) != 9);
|
||||||
|
fail_if(evas_textblock_cursor_format_get(cur) != fnode);
|
||||||
|
evas_textblock_cursor_format_prev(main_cur);
|
||||||
|
fail_if(evas_textblock_cursor_compare(main_cur, cur));
|
||||||
|
|
||||||
|
evas_textblock_cursor_char_next(main_cur);
|
||||||
|
evas_textblock_cursor_format_prev(main_cur);
|
||||||
|
fail_if(evas_textblock_cursor_compare(main_cur, cur));
|
||||||
|
|
||||||
/* FIXME: There is a lot more to be done. */
|
/* FIXME: There is a lot more to be done. */
|
||||||
END_TB_TEST();
|
END_TB_TEST();
|
||||||
|
@ -414,6 +442,150 @@ START_TEST(evas_textblock_text_getters)
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
/* Formats */
|
||||||
|
START_TEST(evas_textblock_formats)
|
||||||
|
{
|
||||||
|
START_TB_TEST();
|
||||||
|
const char *buf = "Th<b>i<font_size=15 wrap=none>s i</font_size=13>s</> a <br> te<ps>st<item></>.";
|
||||||
|
const Evas_Object_Textblock_Node_Format *fnode;
|
||||||
|
evas_object_textblock_text_markup_set(tb, buf);
|
||||||
|
|
||||||
|
/* Walk from the start */
|
||||||
|
fnode = evas_textblock_node_format_first_get(tb);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "+ b"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode),
|
||||||
|
"+ font_size=15 wrap=none"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode),
|
||||||
|
"- font_size=13"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "- "));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "\n"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "ps"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "+ item"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "- "));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(fnode);
|
||||||
|
|
||||||
|
/* Walk backwards */
|
||||||
|
fnode = evas_textblock_node_format_last_get(tb);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "- "));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "+ item"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "ps"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "\n"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "- "));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode),
|
||||||
|
"- font_size=13"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode),
|
||||||
|
"+ font_size=15 wrap=none"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
fail_if(strcmp(evas_textblock_node_format_text_get(fnode), "+ b"));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_prev_get(fnode);
|
||||||
|
fail_if(fnode);
|
||||||
|
|
||||||
|
/* Cursor and format detection */
|
||||||
|
fnode = evas_textblock_node_format_first_get(tb);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(evas_textblock_cursor_format_is_visible_get(cur));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(evas_textblock_cursor_format_is_visible_get(cur));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(evas_textblock_cursor_format_is_visible_get(cur));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(evas_textblock_cursor_format_is_visible_get(cur));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(!evas_textblock_cursor_format_is_visible_get(cur));
|
||||||
|
|
||||||
|
fnode = evas_textblock_node_format_next_get(fnode);
|
||||||
|
fail_if(!fnode);
|
||||||
|
evas_textblock_cursor_at_format_set(cur, fnode);
|
||||||
|
fail_if(!evas_textblock_cursor_format_is_visible_get(cur));
|
||||||
|
|
||||||
|
size_t i = 0;
|
||||||
|
evas_textblock_cursor_paragraph_first(cur);
|
||||||
|
do
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
case 6:
|
||||||
|
case 7:
|
||||||
|
case 10:
|
||||||
|
case 14:
|
||||||
|
case 17:
|
||||||
|
case 18:
|
||||||
|
fail_if(!evas_textblock_cursor_is_format(cur));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fail_if(evas_textblock_cursor_is_format(cur));
|
||||||
|
fail_if(evas_textblock_cursor_format_is_visible_get(cur));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
while (evas_textblock_cursor_char_next(cur));
|
||||||
|
|
||||||
|
END_TB_TEST();
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
/* Different text styles, for example, shadow. */
|
/* Different text styles, for example, shadow. */
|
||||||
START_TEST(evas_textblock_style)
|
START_TEST(evas_textblock_style)
|
||||||
{
|
{
|
||||||
|
@ -487,5 +659,6 @@ void evas_test_textblock(TCase *tc)
|
||||||
tcase_add_test(tc, evas_textblock_style);
|
tcase_add_test(tc, evas_textblock_style);
|
||||||
tcase_add_test(tc, evas_textblock_aux);
|
tcase_add_test(tc, evas_textblock_aux);
|
||||||
tcase_add_test(tc, evas_textblock_text_getters);
|
tcase_add_test(tc, evas_textblock_text_getters);
|
||||||
|
tcase_add_test(tc, evas_textblock_formats);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue