Commit graph

2310 commits

Author SHA1 Message Date
Carl Worth
9a210ab228 Add missing reference images REFERENCE_IMAGES list.
The standard ritual before being able to release.
2008-09-25 15:57:06 -07:00
Carl Worth
e52f0fe8bd Ignore test/png-test.png
Finally, "git status" is clean after "make distcheck".
2008-09-25 14:16:14 -07:00
Jeff Muizelaar
c62b4c7386 [user-font-rescale] Do proper ref-counting of substitute font
The problem showed up on OS X because the freetype backend reuses font_face_t's
which kept the reference count high enough for long enough to avoid the problem.
2008-09-25 16:57:38 -04:00
Carl Worth
cd540dc22e Update text-antialias-subpixel reference image.
Now that we reverted back to cairo's code for sub-pixel
text rendering, we need to update the reference image
to match it.
2008-09-25 13:37:53 -07:00
Carl Worth
3d32e7110b Note that we're using ghostscript 8.62 now for reference images.
As opposed to 8.61.

I had actually forgotten we had documented this. If I had
remembered I could have put more meaningful messages with
some of my recent updates to ps-specific reference images.
2008-09-25 02:58:01 -07:00
Carl Worth
a172d87b4c Make device-offset-scale an XFAIL test due to SVG failure.
It's sad to have to do this. Back with commit 1a9809baa was the
original fix for device-offset-scale, (right after the test was
added), and it fixed it for all backends, including SVG. The fix
involved combining device_transform and CTM into the pattern matrix.

But then, we added the mask-transformed-image and
mask-transformed-similar tests, and commit 20be3182ef for fixing an
SVG-specific bug with masks. That fix involved subtracting away the
pattern matrix when emitting a mask to adhere to SVG semantics.

Unfortunately, this change also made the device-offset-scale test
start failing. A correct fix would probably subtract away only the CTM
portion and not the devive_transform. However, the
_cairo_svg_surface_mask function sees only a pattern matrix and
doesn't know how to separate it into CTM and device_transform pieces.

So fixing this will probably require a change to the surface-backend
interface. And since we're not willing to do that so close to a major
release, we're adding yet another XFAIL.
2008-09-25 02:49:44 -07:00
Carl Worth
36eef09b58 Update pdf-specific reference images for mask test.
Something had changed to introduce some very minor rasterization
details around the circles.
2008-09-25 02:30:00 -07:00
Carl Worth
503506bf0d Add pdf-specific reference image for mask-transformed-similar
Thanks to help from Chris, we fixed the bug that was making this
test fail with the PDF backend. All that was left was differing
treatment of the edges of the image---easy enough to address
with a pdf-specific reference image.
2008-09-25 02:16:47 -07:00
Carl Worth
aae476807c Update ps-specific reference image for rotate-image-surface-paint
The only difference here is a tie-breaker condition for image-
sampling position. While we care about that when it's under our
control, (pixman rasterization), we don't have precise
requirements for ghostscript's sampling. So we can capture the
current result as a reference.
2008-09-25 00:18:23 -07:00
Carl Worth
a501f8f6d8 Mark degenerate-path and miter-precision as XFAIL.
These two tests currently fail only for the PS backend,
but they've done so since before the last major release.
The final image result we're getting is definitely wrong
in both cases, but we have not yet been able to verify
if this is due to bugs in cairo (generating PostScript)
or in ghostscript (interpreting and rasterzing the
PostScript).
2008-09-25 00:14:13 -07:00
Carl Worth
e279eeb7dd Make the bitmap-font an XFAIL.
We've had these PDF and PS failures here for a *long* time,
(before the last major release for sure). It's a bug, but
we expect it to be there, so advertise it that way.
2008-09-25 00:08:03 -07:00
Carl Worth
94d2820c6f Update ps-specific reference image for ft-text-vertical-layout-type3
Something, (gs interpreter version?), changed and caused a
very minor rasterization change.
2008-09-24 18:38:21 -07:00
Carl Worth
8a49cfa03a Update all reference images for ft-text-vertical-layout-type1.
This is one of those chronically fragile tests. I'm assuming
some font changed or something, because the glyph positions
shifted (consistently) across all the backend. Doesn't look
like a bug.

We'll really need to do proper bundling of all font data to
avoid issues like this.
2008-09-24 18:34:43 -07:00
Carl Worth
3ae894a9fd Update reference image for smask-text test.
Very minor rasterization differences crept in here
from somewhere. Of course, it would be easier to
identify from *where* if we documented all the versions
of the various external libraries used in creating
reference images. But for now, the versions on the
machine of the person making the release win.
2008-09-24 18:29:00 -07:00
Carl Worth
ab406eeac1 Add svg-specific reference image for user-font-rescale.
The difference here was just edge effects, (the kind of
thing that looks like glyph rasterization differences
but might in fact be due to minor rounding differences
in glyph positions). Either way, there's no problem
with respect to what the test is exercising.
2008-09-24 18:26:56 -07:00
Chris Wilson
453443d77a [test] Write the OUTPUT filename to the log if we match the vector surface.
If the vector surface matches the output from last time, then the
rasterisation is skipped - but we need to write the expected OUTPUT
filename to the log so that the image is referenced from index.html.
2008-09-25 01:11:50 +01:00
Carl Worth
62107b8015 Mark several new tests added during 1.7 as XFAIL.
The following tests were added during the 1.7 cycle to
demonstrate bugs:

	alpha-similar operator operator-alpha self-copy-overlap

In all cases, the identical bug existed in the last major
release, (1.6.4), so these are not new regressions, but merely
bugs that we're now aware of. The correct way to handle bugs
such as these is to mark them as expected failures (XFAIL).
2008-09-24 16:51:44 -07:00
Carl Worth
c3750cf218 Remove the device-offset testing (-25 cases) for the release.
The reasoning behind the -25 testing is that we want to ensure
that cairo provides translation invariance. However, for
many vector backends we use external rasterizers that don't
necessarily provide that translation invariance.

So this testing makes a bunch of failures appear that we don't
really care about, (and we don't even have a mechanism to turn
them off with custom reference images). For the release, I'm
just turning this off.

After the release, I plan to turn this back on, and then we could
fix this by ensuring that the vector output itself is unaffected
by a device offset, or by moving away from external rasterizers,
(see Chris's micro-gs work to test PostScript with cairo-based
rasterization).
2008-09-24 16:32:58 -07:00
Carl Worth
ea4d0bafb3 Add svg-specific reference image for mask-transformed-similar.
The only difference in this case is whether there is blurring
of the image around the edges. That's a rasterization issue
that we don't care about, (we're testing that the correct
transformation is applied).
2008-09-24 16:25:38 -07:00
Carl Worth
f939e46304 Add pdf-specific reference images for gradient-constant-alpha.
Like many other gradient tests, we're just capturing the buggy
output of poppler here, (though this time I *did* verify with
Adobe acroread that our PDF output seems to be correct).
2008-09-24 16:21:57 -07:00
Carl Worth
06594abc6b Add pdf-specific reference images for fill-alpha-pattern.
These capture the current poppler output, (rather than the
ideal output). We're still waiting for poppler to start
using cairo gradients before this test will run through
cleanly. And even with these new reference images, there's
still some translation variance, so the -25 tests still
fail.
2008-09-24 16:11:10 -07:00
Carl Worth
64541a58ae Add pdf- and ps-specific reference images for device-offset-fractional
We don't care about the specifics of rasterization in the viewer
here, (though it still might be worth being more careful about
how we set /Interpolate---but that's not the point of this test).
2008-09-24 16:11:09 -07:00
Chris Wilson
adece69ae3 [test] Add a test case to question the mutability of sources.
Are patterns mutable? The image backend is quite happy to write and read
from the same surface, whereas the vector targets create snapshots... This
test case exploits that inconsistency.

Also the interested reader will note that not only does this demonstrate
translational invariance, but a discrepancy with similar surfaces.
2008-09-24 19:22:22 +01:00
Chris Wilson
88188eabab [test] Memleak in new mask-ctm-* tests.
Add the forgotten cairo_surface_destroy().
2008-09-24 17:32:45 +01:00
Chris Wilson
8f15730368 [test] Rename mask-ctm-* to avoid conflict with mask-ctm.
Using mask-ctm-image as a test name was causing a naming conflict with
mask-ctm, so rename the new tests.
2008-09-24 18:41:24 +01:00
Chris Wilson
49b9a21e0b [test/any2ppm] Handle filenames with multiple-dots.
Use strrchr() to find the extension, as strchr() is fooled too easily.

As spotted by Carlos Garcia Campos.
2008-09-24 02:03:10 +01:00
Chris Wilson
3c6d3684e9 [test] Add a test case for create_similar(CONTENT_ALPHA)
Application of a pure-alpha similar source is inconsistently handled
across the backends. The PDF/PS backends allow the rgb channels to bleed
through and the SVG backend mixes in pure white.
2008-09-23 23:35:53 +01:00
Behdad Esfahbod
0ac7a242f8 [build] Add Makefile.win32.common 2008-09-22 20:11:38 -04:00
Chris Wilson
223e7b9ed0 [test] Add an exercise for masking an image using the ctm.
Quote Kai-Uwe Behrmann:
"The expected behaviour for masking in Cairo is to set the mask according
to the current active matrix and apply unchanged to a to be masked
surface.

In SVG the mask element is bound to the masked object and thus the local
matrix from that image object applies to the nested mask as well."

This is a test case to exercise applying a mask to an image under
separate transformations.

Original patch by Kai-Uwe Behrmann, altered to run the test against all
backends (where it causes poppler to crash on my machine <evil grin>).
2008-09-22 09:55:15 +01:00
Chris Wilson
e749b58af8 [test] Add rectilinear-fill
Add a test-case to exercise pixel-aligned fills to verify the optimised
rectilinear filler.
2008-09-19 16:59:50 +01:00
Carl Worth
7fa5e0eb3a Add user-font-rescale-ps-ref.png to REFERENCE_IMAGES.
As caught by make distcheck.
2008-09-18 12:11:55 -07:00
Carl Worth
46ed92e699 Remove text-lcd-filter tests
The lcd_filter API is gone now, and these tests were all failing
anyway.
2008-09-18 07:56:43 -07:00
Carl Worth
1b42bc8033 Make the lcd_filter API private
During the cairo summit it was decided that this API is to freetype-
specific to be in the general cairo interface for now. This will
likely come back again soon as a cairo_ft-specific interface.
2008-09-18 07:56:43 -07:00
Behdad Esfahbod
cb10dfe715 Update tests to new cairo_text_cluster_flags_t API 2008-09-18 00:30:57 -04:00
Chris Wilson
e83675dee1 [test] Add missing operator-alpha ref image. 2008-09-17 22:25:16 +01:00
Chris Wilson
85a4f0dcee Workaround undefined functions required by rsvg & poppler.
If the native windowing system is disable (e.g. --disable-xlib) then the
test suite fails to build since the vector converters typically depend
upon gdk-pixbuf-2.0, which in turn depends upon a native gdk which
requires cairo to be built with support for the native windowing system. A
mess that should be resolved by separating rsvg and poppler into core and
higher-level libraries, but which we can workaround by simply ignoring
errors from undefined functions at link time.
2008-09-17 15:25:18 -04:00
Chris Wilson
7761a106ce [test] Check set_operator()
Draw a pair of rectangles with each operator in turn - seems to trigger an
issue with the PDF/PS backends.
2008-09-17 11:59:29 +01:00
Behdad Esfahbod
ff9a2af19e [test] Make test programs depend on check programs
Since they use them when being run.
2008-09-16 19:45:03 -04:00
Adrian Johnson
e880d0f956 Change user-font-rescale test to use opaque colors
The combination of the initial cairo_paint() and the translucent text
colors were causing image fallbacks that prevented the PS type 3 font
embedding from being tested.
2008-09-16 19:13:50 +09:30
Chris Wilson
1a3863688c [test/user-font-rescale] Tidy
Behdad warned that the static UNICODE_TO_GLYPH converter was not portable,
and needed to be replaced. And do a quick coding-style blitz.
2008-09-16 03:06:39 +01:00
Chris Wilson
be9df58b5d [test/user-font-rescale] Fixup use of NAN
Kill the use of the C99 feature, and replace with strtod("NaN").
2008-09-16 02:52:30 +01:00
Jeff Muizelaar
e53fe3ec24 [test] Add a test case for drawing glyphs with different metrics.
The ability to draw glyphs with different metrics is useful when doing
font substitution with fixed layout like in pdf and I eventually plan on
adding code to poppler to do something similar.
2008-09-16 01:59:28 +01:00
Chris Wilson
5c7c2b5187 [test] Test handling of fractional device offsets. 2008-09-15 17:11:42 +01:00
Chris Wilson
77b43da99f [test] Fixup potential use of uninitialized test_image.
In the churn of reordering the tests, some of the error paths were left
unaltered - causing potential invalid dereferences.
2008-09-15 16:48:22 +01:00
M Joonas Pihlaja
4e731f7c90 [test] Only test truetype-tables if we can.
Doesn't build without CAIRO_HAS_FONT_SUBSET.
2008-09-12 09:40:23 +03:00
Behdad Esfahbod
66d6cb642c [Makefile.am.common] Unify more common rules 2008-09-11 18:06:57 -04:00
Behdad Esfahbod
de5b8bce37 Makefile.am cleanup
Use a common build/Makefile.am.common file.
2008-09-11 15:49:09 -04:00
Chris Wilson
e9e439a7a8 [test] Check for updated reference images.
Delete the results of previous runs if the reference images are more
recent.

There's still potential error if the conversion utility or its required
libraries are modified...
2008-09-11 12:58:48 +01:00
Adrian Johnson
e1c1bba3ff Update user-font-proxy PDF/PS ref images 2008-09-11 19:00:17 +09:30
Chris Wilson
140ffa6e27 [test] Fix order of deleting images vs checks.
The early-checks assume that the images are still available - so it helps
not to unlink them before comparing results to the previous run.
2008-09-11 10:00:57 +01:00