Commit Graph

9990 Commits

Author SHA1 Message Date
Peter Rowlands
916b2e1b74 Document APNG support 2020-02-23 15:14:06 +11:00
Peter Rowlands
7c0df1034f Add APNG test cases
Includes tests for reading and writing APNG files.

The tests for reading files are based on the APNG browser compatibility
tests from https://philip.html5.org/tests/apng/tests.html
(which is linked in the Tests section of https://wiki.mozilla.org/APNG_Specification)
2020-02-23 15:14:06 +11:00
Peter Rowlands
67e3ccffeb Add APNG support
See #3483

Adds support for reading APNG files and seeking through frames,
and adds basic support for writing APNG files.
2020-02-23 15:11:08 +11:00
Hugo
44e661f25a Convert to use pytest 2020-02-22 23:03:01 +02:00
Hugo
699a9dadf1 Convert asserts 2020-02-22 18:07:04 +02:00
Hugo van Kemenade
dab94e69d1
Merge pull request #4443 from radarhere/assert
Converted most assert statements to pytest
2020-02-22 16:18:04 +02:00
Andrew Murray
8482919a37 Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
orlnub123
84c33abaa0 Make key an argument 2020-02-22 12:30:10 +00:00
Hugo
a82ba5b2c2 Save IM: use only filename as name, ditch potentially overlong path 2020-02-22 13:00:25 +02:00
orlnub123
8f21d0ddf0 Improve rounding 2020-02-21 23:38:38 +00:00
Hugo van Kemenade
20d6b6271c
Merge pull request #4442 from radarhere/docs_badges
Changed docs badges to be closer to README badges
2020-02-22 00:04:59 +02:00
Andrew Murray
f76ef9798f Changed docs badges to be closer to README badges [ci skip] 2020-02-22 08:37:19 +11:00
Andrew Murray
a99b9d63f4 Document quality parameter change when saving JPEGs [ci skip] 2020-02-21 22:17:56 +11:00
Andrew Murray
a8c0794107 Allow saving of zero quality JPEG images 2020-02-21 22:05:44 +11:00
Andrew Murray
f87505cbd2
Merge pull request #4436 from hugovk/pytest.importorskip
Use pytest.importorskip to skip on a missing import dependency
2020-02-21 06:53:04 +11:00
Hugo van Kemenade
f43efb0aec
_webp not needed in this file
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-02-20 12:24:46 +02:00
Andrew Murray
30f6177f99
Merge pull request #4437 from hugovk/upgrade
Docs: Recommend upgrading pip and Pillow
2020-02-20 19:13:06 +11:00
Hugo
2d5e479bcc Merge remote-tracking branch 'upstream/master' into pytest.importorskip 2020-02-19 19:26:52 +02:00
Hugo van Kemenade
79859f023f
Merge pull request #4434 from jdufresne/features
Streamline test skipping based on supported features
2020-02-19 16:55:35 +02:00
Hugo van Kemenade
56fd7b3d41
Merge pull request #43 from radarhere/fix-im-long-name
Rearranged code for Windows
2020-02-19 12:58:10 +02:00
Andrew Murray
c516134890 Rearranged code for Windows 2020-02-19 20:56:23 +11:00
Andrew Murray
c6749183f8 Updated tests 2020-02-19 19:52:07 +11:00
Dag Wästberg
2e02500fa6 change function names to snake_case 2020-02-19 19:38:53 +11:00
dwastberg
7d5ab9f1d4 Remove old code 2020-02-19 19:37:34 +11:00
Dag Wästberg
23a61b00b5 fix formatting 2020-02-19 19:37:02 +11:00
Dag Wästberg
23c9da5264 add Overlay chop 2020-02-19 19:34:13 +11:00
Dag Wästberg
705140cc2c add hardlight and softlight chops 2020-02-19 19:30:59 +11:00
Dag Wästberg
319f5409fe fix formatting 2020-02-19 19:28:27 +11:00
Dag Wästberg
e18e96d736 fix formatting 2020-02-19 19:28:27 +11:00
Dag Wästberg
13c1b7070d add Overlay chop 2020-02-19 19:24:36 +11:00
Dag Wästberg
c8a46ef387 update docs 2020-02-19 19:23:09 +11:00
Dag Wästberg
5e5dfbad81 add hardlight and softlight chops 2020-02-19 19:23:09 +11:00
Hugo van Kemenade
1c0c57e90b
Merge pull request #42 from radarhere/upgrade
Recommend upgrading Pillow
2020-02-19 10:15:53 +02:00
Andrew Murray
5bb18c08ff Recommend upgrading Pillow [ci skip] 2020-02-19 18:59:28 +11:00
Jon Dufresne
c057ad1535 Warn on typos passed to features.check()
If the feature isn't one of the recognized types, a UserWarning is
emitted.
2020-02-18 19:48:48 -08:00
Jon Dufresne
4f185329f4 Streamline test skipping based on supported features
This adds a new test decorator: skip_unless_feature(). The argument is
the same as passed to features.check(). If the feature is not supported,
the test will be skipped.

This removes several kinds of boilerplate copied and pasted around tests
so test feature checking is handled and displayed more consistently.

Refs #4193
2020-02-18 13:07:01 -08:00
Jon Dufresne
f72e64b90b Remove unnecessary setup_module() from test_file_tar.py
The test_sanity() already checks the decorder exists and the other tests
can run without zlib/jpeg installed.
2020-02-18 13:02:30 -08:00
Jon Dufresne
967f46d1d8 Remove unnecessary skip test logic
The gif_encoder and gif_decoder are always compiled and included in
src/_imaging.c.
2020-02-18 13:02:30 -08:00
Hugo
f4b1c772dc Recommend upgrading pip and Pillow 2020-02-18 21:48:52 +02:00
Hugo van Kemenade
2d4b4576aa
Merge pull request #4428 from jdufresne/use-mock
Replace SimplePatcher with builtin unittest.mock module
2020-02-18 16:08:28 +02:00
Hugo
d289a5b072 Convert to use pytest 2020-02-18 15:50:34 +02:00
Hugo
17c67a2cfb Use pytest.importorskip to skip on a missing import dependency 2020-02-18 14:30:56 +02:00
Andrew Murray
dd8b0de666 Close excusively opened images 2020-02-18 20:49:05 +11:00
Hugo van Kemenade
8ec548d163
Merge pull request #4431 from jdufresne/top
Move safe imports to the top of test files
2020-02-17 22:34:57 +02:00
Hugo van Kemenade
9f2d478f03
Merge pull request #4429 from jdufresne/cpickle
Remove testing of Python-2-only cPickle module
2020-02-17 21:48:43 +02:00
Jon Dufresne
98a2081a78 Move safe imports to the top of test files
These modules are safe to import and this better follows PEP 8.

From https://www.python.org/dev/peps/pep-0008/#imports

> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.
2020-02-17 10:49:27 -08:00
Jon Dufresne
9e856b8a72 Remove testing of Python-2-only cPickle module
In Python 3, cPickle and pickle have been merged to a single module.

From https://docs.python.org/3/whatsnew/3.0.html#library-changes

> A common pattern in Python 2.x is to have one version of a module
> implemented in pure Python, with an optional accelerated version
> implemented as a C extension; for example, pickle and cPickle. This
> places the burden of importing the accelerated version and falling
> back on the pure Python version on each user of these modules. In
> Python 3.0, the accelerated versions are considered implementation
> details of the pure Python versions. Users should always import the
> standard version, which attempts to import the accelerated version and
> falls back to the pure Python version. The pickle / cPickle pair
> received this treatment.

Can now move the 'import pickle' to the top of the test file.
2020-02-17 10:27:36 -08:00
Hugo van Kemenade
6bcc5bf150
Merge pull request #4427 from jdufresne/str
Remove redundant str() call
2020-02-17 20:16:12 +02:00
Jon Dufresne
1a3ebafdd2 Replace SimplePatcher with builtin unittest.mock module
The class more or less duplicates the features of the mock module. Can
avoid the duplication by using the stdlib.
2020-02-17 10:06:19 -08:00
Jon Dufresne
6121daa72d Remove redundant str() call
The %s placeholder already coerces arguments to a string.
2020-02-17 09:18:49 -08:00