Evas tests: Added a bunch of text object tests.

SVN revision: 61213
This commit is contained in:
Tom Hacohen 2011-07-10 14:58:37 +00:00
parent 0db401e003
commit f24a0f896e
1 changed files with 126 additions and 0 deletions

View File

@ -39,7 +39,133 @@ START_TEST(evas_text_simple)
}
END_TEST
#define _CHECK_SET_GET(x) \
do \
{ \
Evas_Coord r, g, b, a; \
evas_object_text_##x##_set(to, 100, 150, 125, 12); \
evas_object_text_##x##_get(to, &r, &g, &b, &a); \
fail_if((r != 100) || (g != 150) || (b != 125) || (a != 12)); \
} \
while (0)
START_TEST(evas_text_set_get)
{
START_TEXT_TEST();
const char *buf = "Test - בדיקה";
/* Text */
evas_object_text_text_set(to, buf);
fail_if(strcmp(evas_object_text_text_get(to), buf));
/* Colors */
_CHECK_SET_GET(shadow_color);
_CHECK_SET_GET(glow_color);
_CHECK_SET_GET(glow2_color);
_CHECK_SET_GET(outline_color);
/* Font and size */
const char *font = "Sans";
Evas_Font_Size size = 14;
evas_object_text_font_set(to, font, size);
font = NULL;
size = 0;
evas_object_text_font_get(to, &font, &size);
fail_if(strcmp(font, "Sans"));
fail_if(size != 14);
font = "Serif";
size = 2;
evas_object_text_font_set(to, font, size);
font = NULL;
size = 0;
evas_object_text_font_get(to, &font, &size);
fail_if(strcmp(font, "Serif"));
fail_if(size != 2);
evas_object_text_font_source_set(to, "/usr/share/fonts/Sans.ttf");
font = evas_object_text_font_source_get(to);
fail_if(strcmp(font, "/usr/share/fonts/Sans.ttf"));
/* BiDi Delimiters */
const char *delim;
evas_object_text_bidi_delimiters_set(to, ",.|");
delim = evas_object_text_bidi_delimiters_get(to);
fail_if(strcmp(delim, ",.|"));
END_TEXT_TEST();
}
END_TEST
START_TEST(evas_text_style)
{
Evas_Coord l, r, t, b;
START_TEXT_TEST();
const char *buf = "Test";
evas_object_text_text_set(to, buf);
evas_object_text_style_set(to, EVAS_TEXT_STYLE_PLAIN);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 0) || (r != 0) || (t != 0) || (b != 0));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_SHADOW);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 0) || (r != 1) || (t != 0) || (b != 1));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_OUTLINE);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 1) || (r != 1) || (t != 1) || (b != 1));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_SOFT_OUTLINE);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 2) || (r != 2) || (t != 2) || (b != 2));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_GLOW);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 2) || (r != 2) || (t != 2) || (b != 2));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_OUTLINE_SHADOW);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 1) || (r != 2) || (t != 1) || (b != 2));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_FAR_SHADOW);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 1) || (r != 2) || (t != 1) || (b != 2));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 1) || (r != 3) || (t != 1) || (b != 3));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_SOFT_SHADOW);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 1) || (r != 3) || (t != 1) || (b != 3));
evas_object_text_style_set(to, EVAS_TEXT_STYLE_FAR_SOFT_SHADOW);
evas_object_text_style_pad_get(to, &l, &r, &t, &b);
fail_if((l != 0) || (r != 4) || (t != 0) || (b != 4));
fail_if(strcmp(evas_object_text_text_get(to), buf));
END_TEXT_TEST();
}
END_TEST
#ifdef HAVE_FRIBIDI
START_TEST(evas_text_bidi)
{
START_TEXT_TEST();
const char *buf = "Test - בדיקה";
evas_object_text_text_set(to, buf);
fail_if(evas_object_text_direction_get(to) != EVAS_BIDI_DIRECTION_LTR);
evas_object_text_text_set(to, "בדיקה");
fail_if(evas_object_text_direction_get(to) != EVAS_BIDI_DIRECTION_RTL);
END_TEXT_TEST();
}
END_TEST
#endif
void evas_test_text(TCase *tc)
{
tcase_add_test(tc, evas_text_simple);
tcase_add_test(tc, evas_text_style);
tcase_add_test(tc, evas_text_set_get);
#ifdef HAVE_FRIBIDI
tcase_add_test(tc, evas_text_bidi);
#endif
}