summaryrefslogtreecommitdiff
path: root/test/text-zero-len.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-01-17 13:28:55 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2008-01-17 13:32:04 +0000
commitaec7ae67aa72f3105232fa7a66c1ea013c840da1 (patch)
treeedcdd7ff84af3a8279a6fdbbdeabe19b5d4968f7 /test/text-zero-len.c
parent390e22894b093184e489ea762ffc29eeb1c81d2b (diff)
downloadcairo-aec7ae67aa72f3105232fa7a66c1ea013c840da1.tar.gz
[test/text-zero-len] Test the public cairo_scaled_font_* with NULLs.
Pass NULL to cairo_scaled_font_(text|glyph)_extents() to test the consistency of the extents API.
Diffstat (limited to 'test/text-zero-len.c')
-rw-r--r--test/text-zero-len.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/text-zero-len.c b/test/text-zero-len.c
index e64daa87b..b8cdce6d0 100644
--- a/test/text-zero-len.c
+++ b/test/text-zero-len.c
@@ -71,6 +71,7 @@ draw (cairo_t *cr, int width, int height)
{
cairo_text_extents_t nil_extents;
cairo_text_extents_t extents;
+ cairo_scaled_font_t *scaled_font;
cairo_select_font_face (cr, "Bitstream Vera Sans",
CAIRO_FONT_SLANT_NORMAL,
@@ -121,6 +122,38 @@ draw (cairo_t *cr, int width, int height)
return CAIRO_TEST_FAILURE;
}
+ scaled_font = cairo_get_scaled_font (cr);
+
+ memset (&extents, 0xff, sizeof (cairo_text_extents_t));
+ cairo_scaled_font_text_extents (scaled_font, "", &extents);
+ if (! text_extents_equal (&extents, &nil_extents)) {
+ cairo_test_log ("Error: cairo_scaled_font_text_extents(\"\"); extents (%g, %g, %g, %g, %g, %g)\n",
+ extents.x_bearing, extents.y_bearing,
+ extents.width, extents.height,
+ extents.x_advance, extents.y_advance);
+ return CAIRO_TEST_FAILURE;
+ }
+
+ memset (&extents, 0xff, sizeof (cairo_text_extents_t));
+ cairo_scaled_font_text_extents (scaled_font, NULL, &extents);
+ if (! text_extents_equal (&extents, &nil_extents)) {
+ cairo_test_log ("Error: cairo_scaled_font_text_extents(NULL); extents (%g, %g, %g, %g, %g, %g)\n",
+ extents.x_bearing, extents.y_bearing,
+ extents.width, extents.height,
+ extents.x_advance, extents.y_advance);
+ return CAIRO_TEST_FAILURE;
+ }
+
+ memset (&extents, 0xff, sizeof (cairo_text_extents_t));
+ cairo_scaled_font_glyph_extents (scaled_font, (void*)8, 0, &extents);
+ if (! text_extents_equal (&extents, &nil_extents)) {
+ cairo_test_log ("Error: cairo_scaled_font_glyph_extents(NULL); extents (%g, %g, %g, %g, %g, %g)\n",
+ extents.x_bearing, extents.y_bearing,
+ extents.width, extents.height,
+ extents.x_advance, extents.y_advance);
+ return CAIRO_TEST_FAILURE;
+ }
+
return CAIRO_TEST_SUCCESS;
}