diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2008-01-17 13:28:55 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2008-01-17 13:32:04 +0000 |
commit | aec7ae67aa72f3105232fa7a66c1ea013c840da1 (patch) | |
tree | edcdd7ff84af3a8279a6fdbbdeabe19b5d4968f7 /test/text-zero-len.c | |
parent | 390e22894b093184e489ea762ffc29eeb1c81d2b (diff) | |
download | cairo-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.c | 33 |
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; } |