This tests are designed to guarantee that the wide lines behave exactly
like normal lines drawn with the Bresenham's algorithm.
This tests are somewhat subjective since this is non-defined behavior,
but I think that mimic the Bresenham's algorithm is reliable enough.
Currently the horizontal version of this test **fail**.
Only the oblique 3 pixels wide lines are defined:
* The oblique 2 pixels wide lines are somewhat hard to define.
* To define the oblique lines wider than 3 pixels we neet to define
first how the oblique lines should expand their width (realistic or
exact).
Notice that the expansion of the line width depends on the order of the
points:
* If the bigger axis value is provided as the *second* point the line
expand first to the *positive* side of the axis.
* If the bigger axis value is provided as the *first* point the line
expand first to the *negative* side of the axis.
* If the line's width is odd this doesn't matter, as the line will
expand the same amount to both sides.
This behavior should be consistent in both horizontal and vertical lines.
We now have a test harness for EPS files. Two variants were created one for the default scale=1 and one where scale=2. These two tests are run against two different EPS files, one with zero for the start of the bounding box and one where this is not the case. PNG test renders are used to make sure the output match what we expect. Lastly the sample EPS files were generated using the included create_eps.gnuplot file and the gnuplot program on a Mac.
Pillow now uses the webpmux library to envelop the webp images in RIFF. This allows for easy support of exif and icc_profile metadata.
Also included tests that verify compatibility with jpeg for exif and icc_profile metadata.
If the user does not have webp with webpmux enabled, pillow will fall back to the previous approach, meaning no exif or icc_profile metadata will be read or written to.
This is Christoph Gohlke's test suite from his personal PIL package found
at http://www.lfd.uci.edu/~gohlke/pythonlibs/.
This is just to bring it in as a separate commit. Future commits will align
it with Pillow.