Add test to demonstrate bug #4205, missing caps on all but last sub-path in a complex path.

This commit is contained in:
Carl Worth 2005-08-23 01:02:16 +00:00
parent 65bfc03e72
commit 4b0ed008ba
5 changed files with 77 additions and 0 deletions

View file

@ -1,3 +1,12 @@
2005-08-23 Carl Worth <cworth@cworth.org>
* test/.cvsignore:
* test/Makefile.am:
* test/caps-sub-paths-ref.png:
* test/caps-sub-paths.c: (draw), (main): Add test to demonstrate
bug #4205, missing caps on all but last sub-path in a complex
path.
2005-08-22 Carl Worth <cworth@cworth.org>
* src/cairo.c (cairo_create): Remove discussion of the BAD_NESTING

View file

@ -3,6 +3,7 @@
Makefile
Makefile.in
a8-mask
caps-sub-paths
clip-nesting
clip-operator
clip-twice

View file

@ -1,6 +1,7 @@
# All test cases go here
TESTS = \
a8-mask \
caps-sub-paths \
clip-nesting \
clip-operator \
clip-twice \
@ -74,6 +75,7 @@ endif
# way to avoid it? Can I use a wildcard here?
EXTRA_DIST = \
a8-mask-ref.png \
caps-sub-paths-ref.png \
clip-nesting-ref.png \
clip-operator-ref.png \
clip-twice-ref.png \
@ -135,6 +137,7 @@ rel-path-ref.png
# provide an explanation for the expected failure.
XFAIL_TESTS = \
a8-mask \
caps-sub-paths \
filter-nearest-offset \
pixman-rotate \
self-intersecting \
@ -179,6 +182,7 @@ endif
# time to break down and auto-generate the Makefile.am or something
# from autogen.sh. My, but this is painful...
a8_mask_LDADD = $(LDADDS)
caps_sub_paths_LDADD = $(LDADDS)
clip_nesting_LDADD = $(LDADDS)
clip_operator_LDADD = $(LDADDS)
clip_twice_LDADD = $(LDADDS)

BIN
test/caps-sub-paths-ref.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

63
test/caps-sub-paths.c Normal file
View file

@ -0,0 +1,63 @@
/*
* Copyright © 2005 Red Hat, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software
* and its documentation for any purpose is hereby granted without
* fee, provided that the above copyright notice appear in all copies
* and that both that copyright notice and this permission notice
* appear in supporting documentation, and that the name of
* Red Hat, Inc. not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior
* permission. Red Hat, Inc. makes no representations about the
* suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
* INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Author: Carl D. Worth <cworth@cworth.org>
*/
#include "cairo-test.h"
/* Test case for bug #4205:
https://bugs.freedesktop.org/show_bug.cgi?id=4205
*/
cairo_test_t test = {
"caps-sub-paths",
"Test that sub-paths receive caps.",
20, 20
};
static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
cairo_set_line_width (cr, 4);
cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
cairo_move_to (cr, 4, 4);
cairo_line_to (cr, 4, 16);
cairo_move_to (cr, 10, 4);
cairo_line_to (cr, 10, 16);
cairo_move_to (cr, 16, 4);
cairo_line_to (cr, 16, 16);
cairo_stroke (cr);
return CAIRO_TEST_SUCCESS;
}
int
main (void)
{
return cairo_test (&test, draw);
}