* NULL is reached. */
for (;;)
{
+ size_t text_len;
/* If we got to the end of string or just finished/started tag
* or escape sequence handling. */
if ((*p == 0) ||
}
/* Unicode object replcament char */
else if (!strncmp(_REPLACEMENT_CHAR_UTF8, p,
- strlen(_REPLACEMENT_CHAR_UTF8)))
+ text_len = strlen(_REPLACEMENT_CHAR_UTF8)) ||
+ !strncmp(_NEWLINE_UTF8, p,
+ text_len = strlen(_NEWLINE_UTF8)) ||
+ !strncmp(_PARAGRAPH_SEPARATOR_UTF8, p,
+ text_len = strlen(_PARAGRAPH_SEPARATOR_UTF8)))
{
/*FIXME: currently just remove them, maybe do something
* fancier in the future, atm it breaks if this char
* is inside <> */
_prepend_text_run(cur, s, p);
- p += 2; /* it's also advanced later in this loop need +3
- * in total*/
+ /* it's also advanced later in this loop need +text_len
+ in total*/
+ p += text_len - 1;
s = p + 1; /* One after the end of the replacement char */
}
p++;
evas_textblock_cursor_paragraph_first(cur);
fail_if(evas_textblock_cursor_paragraph_next(cur));
+ /* Insert illegal characters inside the format. */
+ evas_object_textblock_text_markup_set(tb, "a\n");
+ evas_textblock_cursor_pos_set(cur, 1);
+ evas_textblock_cursor_content_get(cur);
+
+ evas_object_textblock_text_markup_set(tb, "a\t");
+ evas_textblock_cursor_pos_set(cur, 1);
+ evas_textblock_cursor_content_get(cur);
+
+ evas_object_textblock_text_markup_set(tb, "a\xEF\xBF\xBC");
+ evas_textblock_cursor_pos_set(cur, 1);
+ evas_textblock_cursor_content_get(cur);
+
+ evas_object_textblock_text_markup_set(tb, "a\xE2\x80\xA9");
+ evas_textblock_cursor_pos_set(cur, 1);
+ evas_textblock_cursor_content_get(cur);
+
/* FIXME: Also add text appending/prepending */
END_TB_TEST();