Commit graph

596 commits

Author SHA1 Message Date
Chris Wilson
4ee5119a34 test: Expand pthread-show-text to cover all surfaces.
In a similar fashion to pthread-same-source and pthread-similar, check
that the texting handling is thread-safe for all surface and font
backends.
2010-04-30 13:00:05 +01:00
Chris Wilson
8ded35fd69 ps: Enable native encoding of subsurface patterns.
Carefully handle subsurfaces of a recording surface through the analysis
and paginated surfaces so that we can generate a native pattern for the
vector backends, demonstrated by the PostScript backend.

Nothing remarkable, just a lot of bookkeeping to track the wrapped
surface types and to apply the correct offsets when generating the
subsurface pattern.
2010-04-30 10:16:24 +01:00
Chris Wilson
4b6fa8d5a7 test: Remove group-unaligned.*new.png
Entirely misleading, looks like PDF is behaving the same as image and
this remnant was thus giving the wrong impression.
2010-04-30 09:47:51 +01:00
Chris Wilson
453b1cba11 test: Update image ref images, and used fonts in README 2010-04-27 16:47:31 +01:00
Chris Wilson
70656bba81 test: Add image16 refs 2010-04-27 14:19:22 +01:00
Chris Wilson
241ce933f8 test: Add clip-shape
cu found a bug when using clipping and fills with the image backend, but
it turns out to be the lost sign bug afflicting everything...

To trigger the bug requires evaluating the clip surface prior to using
in with _cairo_clip_combine_with_surface(). Which is taken along a
particular path when using a clip mask with non-pixel geometry on image,
but more easily hit by the fallback code.

Reported-by: <cairouser@yahoo.com>
2010-04-25 09:45:41 +01:00
Chris Wilson
567e485f28 test: Add clip-empty-group
Exercise a bug reported by Jeff Muizelaar whereby cairo_push_group() was
broken by everything being clipped out.
2010-04-23 14:47:51 +01:00
Chris Wilson
557016a86a test: Add clip-contexts
This should exercise a bug found by Jeff Muizelaar that
cairo-surface-clipper was mistakenly thinking that clip operations on a
second context was a no-op as the topmost clip path matched that of the
previous context.
2010-04-10 16:03:14 +01:00
Chris Wilson
697094488c test: Add inverse text
This is exercising a bug that I have introduced either in the xcb
backend or in the driver in my experimental branches. So simple, yet so
wrong.
2010-04-02 08:51:03 +01:00
Andrea Canciani
01e1821942 test: Add gradient-zero-stops-mask
Add a test to check that gradient with no stops are not considered
opaque by gstate (and thus masking with them is not optimized to
paint).
2010-03-31 12:14:25 +02:00
Chris Wilson
473e006ad6 test: Add a1-mask-sample
Test sampling positions with a NEAREST mask.
2010-03-06 18:12:36 +00:00
Chris Wilson
5bfea8447b test: Add references for rounded-rectangle-{fill,stroke} 2010-03-03 23:57:35 +00:00
Benjamin Otte
1897156d96 test: Add bug-bo-rectangular
Exercises a bug found in the special case rectangular tessellator with
colinear eo edges.
2010-02-23 08:54:39 +00:00
Carl Worth
cb090136b2 Update REFERENCE_IMAGES list for "make distcheck".
As usual, "make distcheck" does not work until we update this list.
2010-02-19 17:30:09 -08:00
Chris Wilson
51047483f4 test: Add clip-twice-rectangle
Jeff Muizeelar found another bug with clipping whereby the clip was
been incorrectly discarded.
2010-02-12 12:24:01 +00:00
Chris Wilson
a4793d1331 test: Add linear-gradient-subset
It was observed that we never actually test the condition that the
gradient is only defined for a portion of its range, i.e. the starting
offset is >0 and the ending offset is <0. By definition the colour
between 0 and start offset is the start color, so check that this
behaviour is followed by all backends.
2010-02-07 19:27:32 +00:00
Chris Wilson
2a59220aa4 test: Add linear-step-function
Another bug identified by Jeff Muizelaar was that the bounds for a
zero-length (i.e. it started and stopped at the same point) were
miscomputed. This test case exercises that bug.

Note: I believe the output is wrong here when padding a zero-length
gradient. On the left it should be red, and on the right it should be
blue.
2010-02-02 16:31:36 +00:00
Chris Wilson
7dc464bb2b test: Add clip-empty-save
Jeff Muizelaar found a bug in _cairo_clip_init_copy() which was not
correctly propagating the all-clipped status when an empty clip was
saved in the gstate. This test case exercises that bug.
2010-02-02 16:31:36 +00:00
Benjamin Otte
58980b4ad6 build: Remove glitz surface
glitz is unmaintained and the GL surface is far superior anyway.
2010-01-27 09:56:14 +01:00
Chris Wilson
ca02b51ef6 test: Add an xcb surface source test 2010-01-22 23:01:51 +00:00
Chris Wilson
2edd2adafc test: Exercise scan converters with large rounded rectangles.
Having added a specialised scan converter on the premise that it should
be better at handling rounded rectangles, ensure that they are indeed
rendered correctly.
2010-01-22 23:01:51 +00:00
Chris Wilson
5187501e99 test: Add --track-origins=yes to valgrind flags.
Enable origin tracking by default for make check-valgrind. This is
slower and consumes more memory than regular valgrind, but the
additional information provided about the source of the uninitialised
data is often invaluable.
2010-01-22 23:01:51 +00:00
Chris Wilson
dc8290814c Add subsurface.
A subsurface is a region of another surface that may be used either to
restrict the writable area of a context or the readable extents of a
source. Whilst writing, access to the exterior of the subsurface is
prevented via clipping and when used as a source reads from the exterior
of the subsurface are governed via the extend mechanism of the pattern.
2010-01-22 23:01:50 +00:00
Benjamin Otte
3e17c559b0 [test] Add pthread-same-source test
Multiple threads render using the same source surface, but with
different extend and filter.
2010-01-22 23:01:49 +00:00
Benjamin Otte
30a12f802f [test] Add a simple multithreading test 2010-01-22 23:01:49 +00:00
Chris Wilson
f40560a9bb test: Add linear-uniform
Jeff reported a regression found by Mozilla whereby a uniform gradient
was not being premultiplied on conversion to a solid pattern.

  https://bugzilla.mozilla.org/show_bug.cgi?id=539165
  [Bug 539165] gradients with a single stop do not have their color
               multiplied by the alpha.
2010-01-15 12:25:53 +00:00
Chris Wilson
e22c02dbae test: Add degenerate-arcs
A simple test to ensure that using degenerate-arcs such as when drawing
a rounded rectangle with radii=0 construct a proper path.
2010-01-15 12:25:53 +00:00
Chris Wilson
a5dd5a6069 test: Add path-stroke-twice
Exercises a bug found by alois@astro.ch, whereby we inadvertently remove
a line segment when the path doubles back upon itself.

  Bug 26010 - cairo_line_to optimizes away path segments
  http://bugs.freedesktop.org/show_bug.cgi?id=26010
2010-01-12 17:07:28 +00:00
Benjamin Otte
0d8a04ef47 test: Add cases to exercise clipping after no-ops
Whilst investigating:

  Bug 31788: SVG <line> with y1 == y2 and both with fractional
             part don't render
  https://bugs.webkit.org/show_bug.cgi?id=31788

I found that it can be reduced to a no-op clip following a no-op stroke
or fill. These conditions are exercised here and are shown to be a bug
introduced in the 1.9.x development series.
2009-11-25 10:53:39 +00:00
Andrea Canciani
b1a7639465 Add dash-offset test
Stroking a dash pattern of odd length with a negative offset is broken
(except when the pattern is composed by a single dash).
2009-11-11 16:38:29 +01:00
Andrea Canciani
c181f9e9ae Add new operator-alpha-alpha test
Compositing of alpha-only sources is not throughly tested and
as a consequence the misbehaviour of some backends is not
shown by the test suite.

[ickle: Added XFAILs for pdf, ps, svg.]
2009-11-09 16:58:06 +00:00
M Joonas Pihlaja
43a775f60d [meta] Rename cairo_meta_surface_t to cairo_recording_surface_t.
The new name is more descriptive than the rather opaque meta surface.
Discussed with vigour on the mailing list and #cairo:

http://lists.cairographics.org/archives/cairo/2009-July/017571.html
2009-10-22 02:29:47 +03:00
Andrea Canciani
cef8194178 [test] Add surface-pattern-operator
Test the results of compositing ALPHA and COLOR_ALPHA surfaces
with different operators.
2009-10-20 14:57:41 +01:00
Chris Wilson
710303ef15 [test] Update rotate-image-surface-paint
Update this test case so the background is not the default border colour
so that we spot when the backend pads out the transformed image surface.
2009-10-19 17:21:57 +01:00
Chris Wilson
96117c1212 [test] Add radial-gradient-source
ranma42 found a bug in compositing with a radial gradient using the
SOURCE operator with EXTEND_NONE, as exercised here.
2009-10-17 10:37:38 +01:00
Carl Worth
ad6334b987 Add mising images to REFERENCE_IMAGES list.
Again, the kind of thing that only gets fixed at release time.
But at least we have a nice test for this.
2009-10-15 15:33:20 -07:00
Carl Worth
cdad5e1076 Mark in-fill-empty-trapezoid as an XFAIL test.
Otherwise, it was disrupting my attempts to release a snapshot, (since
it doesn't respect CAIRO_TEST_TARGET=" " and not run like most of the
tests do).
2009-10-15 14:58:39 -07:00
Carl Worth
3b113275f8 Remove stale references to non-existant reference images.
This is just one of those things that we don't get right until
someone tries running "make distcheck".
2009-10-15 14:17:30 -07:00
Benjamin Otte
ade55037ff [test] Add clip-device-offset
Exercises a bug demonstrated by WebKit with clipping + device offsets.
2009-10-15 14:08:01 +01:00
Chris Wilson
dac73d260a [build] Link against pthread-stubs
Avoid pulling in the real pthread library if the application is single
threaded and not using pthreads, by linking against pthread-stubs
instead.
2009-10-15 13:05:47 +01:00
Adrian Johnson
120247ac55 Add EPS test
This test demonstrates a regression in the EPS output since 1.8.8.
The ps-eps.ref.eps was created with 1.8.8.
2009-09-24 23:29:21 +09:30
Chris Wilson
9948b5180a [test] Revamp surface-source
Include a translucent region in the source that exercises the xlib bug
that I'm trying to fix. Hmm.
2009-09-22 18:20:03 +01:00
Chris Wilson
941d3693fa [test] Exercise push-group-color.
Hunting for a known bug in the xlib backend where it invalidly converts
an argb32 source to rgb24. However, this does not appear to be that bug,
but still a useful exercise nevertheless.
2009-09-22 15:46:56 +01:00
Chris Wilson
6e78409417 [test] Update big-line and remove XFAIL
Now that we use polygon clipping, output geometry should no longer exceed
the 2^16 limits imposed by pixman. For the image backend, we now use spans
for stroking and for the xlib backend we have to double check the range on
the output trapezoids. In short, cairo should pass this test.
2009-09-11 14:19:38 +01:00
Chris Wilson
c61480a319 [test] An oversized twin test case.
A larger variant of the twin mixed antialiasing test.
2009-09-09 11:08:17 +01:00
Chris Wilson
610b311a97 [test] Variation of twin that intermixes antialiasing
Check that we are substituting the right glyph depth and changing masks
appropriately.
2009-09-09 09:53:45 +01:00
Chris Wilson
c218ff8cbe [test] SUBPIXEL_ANTIALIAS varation of twin
Force argb32 glyphs.
2009-09-09 09:53:25 +01:00
Chris Wilson
456484514f [test] Variation of twin with ANTIALIAS_GRAY
Force generation of a8 glyphs.
2009-09-09 09:38:18 +01:00
Chris Wilson
8555984b8e [test] Add ANTIALIAS_NONE variation of twin
I'm off hunting bugs. By using twin with ANTIALIAS_NONE we can construct
a1 glyph images independently of the native font system.
2009-09-09 09:29:42 +01:00
Chris Wilson
9389cb78a8 [build] Improve handling of missing test apparatus
Improve detection, reporting and disabling of test backends when we lack
the required libraries and utilities.
2009-09-08 17:51:33 +01:00