Evas tests: Added a bunch of text object tests.
authorTom Hacohen <tom@stosb.com>
Sun, 10 Jul 2011 14:58:37 +0000 (14:58 +0000)
committerTom Hacohen <tom@stosb.com>
Sun, 10 Jul 2011 14:58:37 +0000 (14:58 +0000)
SVN revision: 61213

legacy/evas/src/tests/evas_test_text.c

index cc0cea6..4c91e4a 100644 (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
 }