summaryrefslogtreecommitdiff
path: root/tests/testmisc.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testmisc.c')
-rw-r--r--tests/testmisc.c56
1 files changed, 47 insertions, 9 deletions
diff --git a/tests/testmisc.c b/tests/testmisc.c
index 85a3b0b5..2e14f11e 100644
--- a/tests/testmisc.c
+++ b/tests/testmisc.c
@@ -125,9 +125,6 @@ test_line_height (void)
g_object_unref (context);
}
-#if 0
-/* These tests fail since I had to revert 20ec670e124e446107
- */
static void
test_line_height2 (void)
{
@@ -255,7 +252,6 @@ test_cursor_height2 (void)
g_object_unref (layout);
g_object_unref (context);
}
-#endif
static void
test_attr_list_update (void)
@@ -661,6 +657,47 @@ test_empty_line_height (void)
g_object_unref (context);
}
+static void
+test_gravity_metrics (void)
+{
+ PangoFontMap *map;
+ PangoContext *context;
+ PangoFontDescription *desc;
+ PangoFont *font;
+ PangoGlyph glyph;
+ PangoGravity gravity;
+ PangoRectangle ink[4];
+ PangoRectangle log[4];
+
+ map = pango_cairo_font_map_get_default ();
+ context = pango_font_map_create_context (map);
+
+ desc = pango_font_description_from_string ("Cantarell 64");
+
+ glyph = 1; /* A */
+
+ for (gravity = PANGO_GRAVITY_SOUTH; gravity <= PANGO_GRAVITY_WEST; gravity++)
+ {
+ pango_font_description_set_gravity (desc, gravity);
+ font = pango_font_map_load_font (map, context, desc);
+ pango_font_get_glyph_extents (font, glyph, &ink[gravity], &log[gravity]);
+ g_object_unref (font);
+ }
+
+ g_assert_cmpint (ink[PANGO_GRAVITY_EAST].width, ==, ink[PANGO_GRAVITY_SOUTH].height);
+ g_assert_cmpint (ink[PANGO_GRAVITY_EAST].height, ==, ink[PANGO_GRAVITY_SOUTH].width);
+ g_assert_cmpint (ink[PANGO_GRAVITY_NORTH].width, ==, ink[PANGO_GRAVITY_SOUTH].width);
+ g_assert_cmpint (ink[PANGO_GRAVITY_NORTH].height, ==, ink[PANGO_GRAVITY_SOUTH].height);
+ g_assert_cmpint (ink[PANGO_GRAVITY_WEST].width, ==, ink[PANGO_GRAVITY_SOUTH].height);
+ g_assert_cmpint (ink[PANGO_GRAVITY_WEST].height, ==, ink[PANGO_GRAVITY_SOUTH].width);
+
+ g_assert_cmpint (log[PANGO_GRAVITY_SOUTH].width, ==, - log[PANGO_GRAVITY_NORTH].width);
+ g_assert_cmpint (log[PANGO_GRAVITY_EAST].width, ==, - log[PANGO_GRAVITY_WEST].width);
+
+ pango_font_description_free (desc);
+ g_object_unref (context);
+}
+
int
main (int argc, char *argv[])
{
@@ -672,11 +709,11 @@ main (int argc, char *argv[])
g_test_add_func ("/layout/short-string-crash", test_short_string_crash);
g_test_add_func ("/language/emoji-crash", test_language_emoji_crash);
g_test_add_func ("/layout/line-height", test_line_height);
- //g_test_add_func ("/layout/line-height2", test_line_height2);
- //g_test_add_func ("/layout/line-height3", test_line_height3);
- //g_test_add_func ("/layout/run-height", test_run_height);
- //g_test_add_func ("/layout/cursor-height", test_cursor_height);
- //g_test_add_func ("/layout/cursor-height2", test_cursor_height2);
+ g_test_add_func ("/layout/line-height2", test_line_height2);
+ g_test_add_func ("/layout/line-height3", test_line_height3);
+ g_test_add_func ("/layout/run-height", test_run_height);
+ g_test_add_func ("/layout/cursor-height", test_cursor_height);
+ g_test_add_func ("/layout/cursor-height2", test_cursor_height2);
g_test_add_func ("/attr-list/update", test_attr_list_update);
g_test_add_func ("/misc/version-info", test_version_info);
g_test_add_func ("/misc/is-zerowidth", test_is_zero_width);
@@ -692,6 +729,7 @@ main (int argc, char *argv[])
g_test_add_func ("/layout/index-to-x", test_index_to_x);
g_test_add_func ("/layout/extents", test_extents);
g_test_add_func ("/layout/empty-line-height", test_empty_line_height);
+ g_test_add_func ("/layout/gravity-metrics", test_gravity_metrics);
return g_test_run ();
}