Commit Graph

1972 Commits

Author SHA1 Message Date
Alexander Karpinsky
09a2e1641b Merge branch 'master' into resample-roi 2017-08-11 19:10:11 +03:00
Vytis Banaitis
7c8e0e4457 Fix ZeroDivisionError when EXIF contains invalid DPI (0/0). 2017-08-09 16:16:14 +03:00
Alexander
349e300d7b use getchannel where is possible 2017-08-09 02:36:07 +03:00
Andrew Murray
5d5a2a3762 Added test for 1 dimensional L mode SGI save 2017-08-07 21:57:59 +10:00
Andrew Murray
667fff7862 Added SGI test for an incorrect number of bands 2017-08-07 20:10:39 +10:00
Andrew Murray
e4927b8f2f Added SGI test for saving an image in an unsupported mode 2017-08-07 19:21:54 +10:00
Alexander
0649da02c6 fix tests on python 3 2017-08-06 14:12:55 +03:00
Alexander
6b50ba07fd add tests for Image.new modes 2017-08-06 14:12:55 +03:00
Hugo
382db4442c Test animated FLI 2017-08-04 14:41:28 +03:00
Hugo
47aa59a046 Add from https://samples.libav.org/fli-flc/
https://samples.libav.org/ says:

This is the Libav samples collection.
You can find samples of various common and uncommon
multimedia formats here. The size of the collection
currently is 54GB and growing.

You are free to download any samples you want, but
if you want to download more than just a few or want
to mirror the whole collection please send a mail to
webmaster(AT)libav(DOT)org *before* you start
and ask for permission.

We can also ship the samples collection to you for a
reasonable fee, inquire for details.

The best way to download samples is with rsync. If you decide
to fetch a large amount (more than 1GB), please limit the rate
to no more than 50 kBps (use the --bwlimit option of rsync).

Please be aware that this samples collection contains a lot
of files that are very obscure, broken in various ways or
are just simply out of use. Hence, it doesn't make sense
to download all of them, unless you are developing a player
applic
2017-08-04 12:39:19 +03:00
Andrew Murray
eaffb1414a Added test 2017-07-29 10:20:19 +10:00
Hugo
8400660083 Move so isn't installed globally 2017-07-27 14:12:28 +03:00
Hugo
90886a4e59 Merge pull request #2632 from wiredfool/issue_2628
Fix JPEG DPI when EXIF is invalid
2017-07-25 11:01:29 +03:00
Hugo
10c7e20045 Test for #2639 2017-07-23 23:56:02 +03:00
Oliver Tonnhofer
9e7de70bac Delete transparency info when convert'ing RGB/L to RGBA
info['transparency] was not removed when an RGB or L image
was converted to RGBA. This could result in unexpected behavior
when saving the resulting image.

Other image conversions already delete or update the transparency
info. There is a shortcut for RGB/L to RGBA which missed this.
2017-07-18 15:00:09 +02:00
wiredfool
908fffdd2c Test for https://github.com/python-pillow/Pillow/issues/2628#issuecomment-315962612 2017-07-18 01:06:54 -07:00
wiredfool
d2b3e60bbb test for issue #2614 2017-07-16 17:23:08 +10:00
Andrew Murray
844b812ebd Removed debugging code 2017-07-15 17:12:33 +10:00
Eric Soroos
20da797fce updates for centos/amazonlinux 2017-07-01 03:46:49 -07:00
wiredfool
b9b5d39f2b Merge pull request #2595 from wiredfool/issue_1911
Image.Image.alpha_composite Added
2017-07-01 11:43:58 +01:00
wiredfool
8feac899dd Merge pull request #2576 from wiredfool/pr_2284
Complex Text Support
2017-07-01 10:45:18 +01:00
nediamond
d1b66e9dfd Added threshold parameter to ImageDraw.floodfill (#2599)
* added thresh option and test

* fixed up, test works and passes

* Update test_imagedraw.py

* Update test_imagedraw.py

* Update ImageDraw.py

* removed pypy skip decorator from thresh test

* Update ImageDraw.py
2017-07-01 10:37:02 +01:00
wiredfool
2c6cf03de1 test features in get size 2017-06-30 22:57:57 +01:00
Fran Barba
29c622dd3d Fixed typo biger > bigger 2017-06-29 11:21:19 +02:00
wiredfool
14293ea4b1 Tests pass on osx 2017-06-29 01:50:29 -07:00
Fran Barba
a7d75c4b21 Applied Hugovk recommendations 2017-06-28 12:12:44 +02:00
Fran Barba
ebaa509d66 Adjust buffer size when icc_profile > MAXBLOCK (issue #148)
We were encountering some errors when saving specific JPEG images.
The error was shown in stderr as:
  IOError: encoder error -2 when writing image file

And on stdout it printed:
    Suspension not allowed here

The problem was the bufsize not contemplating the icc_profile block.
2017-06-28 12:11:33 +02:00
wiredfool
c7efd0bf6d re-organized the parameters, moved size specification to overlay tuple 2017-06-27 22:03:44 +01:00
wiredfool
1d33dfbced Added source point parameter for Image.Image.alpha_composite 2017-06-27 22:03:44 +01:00
wiredfool
69768c514b Added inplace alpha composite 2017-06-27 22:03:44 +01:00
wiredfool
e3f1e9293d fixing the png leak test memory calculations 2017-06-27 21:20:46 +01:00
wiredfool
db2359a30f y offset on trusty/x86 is 1.63 2017-06-21 14:00:15 -07:00
wiredfool
8d9f6029e1 remove non-tempfile usage from tests 2017-06-21 14:00:15 -07:00
wiredfool
183e0ec21d Added Noto font license [ci skip] 2017-06-21 14:00:15 -07:00
Eric Soroos
53e247cfc4 test tweak for ubuntu 16.04 2017-06-21 14:00:15 -07:00
wiredfool
39327332df test both layout engines, if available 2017-06-21 14:00:15 -07:00
wiredfool
b8c04de043 added layout engine switch 2017-06-21 14:00:15 -07:00
wiredfool
f371ca07f4 hoist tests out of try/except, use feature detection 2017-06-21 14:00:15 -07:00
Fahad Al-Saidi
e07a254ed9 update 2017-06-21 14:00:14 -07:00
Fahad Al-Saidi
fd7a675de6 adding KeyError exception
so the test not fail when there is no raqm lib.
2017-06-21 14:00:14 -07:00
Fahad Al-Saidi
4ed6962364 only catch ImportError same as test_imagefont.py 2017-06-21 14:00:14 -07:00
shamsa
312c87e279 fix testing 2017-06-21 14:00:14 -07:00
shamsa
a77850564a Fix gitsize function. 2017-06-21 14:00:14 -07:00
shamsa
fcd20da3cb Testing complex text layout. 2017-06-21 14:00:14 -07:00
wiredfool
5a671830d8 Merge pull request #2541 from uploadcare/fix-truncated-png-loading
Fix truncated png loading
2017-06-21 12:23:15 +01:00
wiredfool
544f76b102 Adjust test so that we get warning, not error 2017-06-21 04:04:27 -07:00
wiredfool
1a1a2ed001 Added DecompressionBombError on 2 x pixels of warning, ref #2410 2017-06-21 03:54:48 -07:00
wiredfool
8eb1dcb7c5 test for truncated png memory leak #2541 2017-06-21 03:31:32 -07:00
wiredfool
c70977aad7 added decompression bomb check to crop 2017-06-21 02:36:11 -07:00
wiredfool
1f19c023e1 Merge pull request #2406 from blochl/multiframe_tiff
Allow to save tiff stacks from separate images
2017-06-13 22:30:35 +01:00
wiredfool
8323ab1149 Merge pull request #2447 from hugovk/test-mic
Test MicImagePlugin for correctness
2017-06-13 22:20:44 +01:00
hugovk
2d02f4ea9b Adjust test for the gamma of 2.2 encoded into the file 2017-06-13 23:07:46 +03:00
wiredfool
d8f15a0706 Merge pull request #2558 from uploadcare/resize-truncate-coeffs-2
Use round instead of floor to exclude of zero coefficients
2017-06-13 21:03:27 +01:00
wiredfool
c3e041e9e6 Merge branch 'master' into rm-deprecated-fn 2017-06-13 13:32:38 +01:00
wiredfool
ae431bc9fb Merge pull request #2526 from radarhere/pdf
Added append_images to PDF saving
2017-06-13 13:25:50 +01:00
wiredfool
c16ba722f2 Merge pull request #2551 from jdufresne/keys
Remove unnecessary calls to dict.keys()
2017-06-13 13:12:48 +01:00
wiredfool
1cfb20a2a9 Merge pull request #2533 from hugovk/imagedraw
Add more ImageDraw.py tests and remove unused Draw.c code
2017-06-13 13:10:32 +01:00
wiredfool
38be701a9a Merge pull request #2554 from hugovk/test-imagemorph2
More unit tests for ImageMorph
2017-06-13 13:06:52 +01:00
wiredfool
4a8d260d76 Merge pull request #2552 from hugovk/test-mcidas
Test a McIDAS area file
2017-06-13 13:04:30 +01:00
Eric Soroos
3293d6a1c5 tests for features 2017-06-13 04:38:26 -07:00
Andrew Murray
b8e0daaf70 Replaced true assert with comment 2017-06-03 14:05:24 +10:00
Andrew Murray
e8cba27bb1 Changed assert checks to more specific versions 2017-06-03 14:04:54 +10:00
Andrew Murray
cf575ff93e Replaced false assert with fail 2017-06-03 14:04:18 +10:00
Andrew Murray
803cdf068f Removed unnecessary parameter 2017-06-03 13:56:23 +10:00
Hugo
ffcd945ae7 Test MRL save/load roundtrip 2017-05-30 18:02:20 +03:00
hugovk
4c86ef0b52 More morph tests 2017-05-30 18:02:20 +03:00
hugovk
04f28b691e Test negate and fix a TypeError: list indices must be integers, not str 2017-05-30 18:02:20 +03:00
hugovk
761081b1e3 Test mirroring 2017-05-30 18:02:20 +03:00
Andrew Murray
2a5447691a Replaced deprecated assert_ 2017-05-30 19:55:35 +10:00
Andrew Murray
4b1784c9ad Changed file opening to use with 2017-05-30 19:54:40 +10:00
Alexander
ad883961ac fix hamming filter 2017-05-29 14:29:12 +03:00
Jon Dufresne
d244fbb299 Remove unnecessary calls to dict.keys()
iter(dict) is equivalent to iter(dict.keys()), so simply act on the dict
instead of adding the extra call.

Inspired by Lennart Regebro's PyCon 2017 presentation "Prehistoric
Patterns in Python". Available at:

https://www.youtube.com/watch?v=V5-JH23Vk0I
2017-05-28 09:55:38 -07:00
hugovk
9626e49c0b Test a McIDAS area file 2017-05-28 16:11:16 +03:00
hugovk
c70eb8a128 flake8 2017-05-27 23:55:14 +03:00
hugovk
e4d6223c94 Remove deprecated code due for removal in Pillow 4.2 (per PR #2010) 2017-05-27 23:20:03 +03:00
hugovk
e002207c5b Remove function deprecated and warning since 3.0 (1 Oct 2015) 2017-05-27 21:55:42 +03:00
hugovk
d85dffd150 Remove functions deprecated and warning since 2.0 (15 Mar 2013) and raising exceptions since 3.0 (1 Oct 2015) 2017-05-27 21:52:43 +03:00
Hugo
08c72a1720 flake8 2017-05-16 10:33:38 +03:00
hugovk
206e316c0e Test limits of arc/ellipse's start and end 2017-05-15 22:58:51 +03:00
hugovk
f1631e0d05 Test drawing a rectangle bigger than the image 2017-05-15 21:44:28 +03:00
hugovk
5871b7a5ba Test drawing a wide "line" from one point to another just draws a single point 2017-05-15 21:32:54 +03:00
Hugo
ae9181f0a4 Test polygons in RGB and L modes 2017-05-15 18:24:12 +03:00
Hugo
e77c3b3eb2 Test ellipse in RGB and L modes 2017-05-15 18:23:00 +03:00
Hugo
de1f156fcd Add test file 2017-05-15 18:13:36 +03:00
Hugo
d4a350cd79 Test chord in RGB and L modes 2017-05-15 18:04:33 +03:00
Hugo
3db1944762 Test drawing polygons with sloped and flat lines 2017-05-15 17:09:29 +03:00
Joshua Blum
a6874f01ac Add test 2017-05-13 12:07:16 -04:00
wiredfool
f6f30b1c13 Merge pull request #2521 from adw1n/master
Fix for issue #2514 - error handling mistake in _webp.c
2017-05-13 14:24:51 +01:00
Hugo
2e492f8314 Merge pull request #2295 from radarhere/executable
Set executable flag on scripts with shebang line
2017-05-13 13:20:44 +03:00
Andrew Murray
80806d349f Added append_images to PDF saving 2017-05-13 14:26:52 +10:00
adw1n
6ce11c9e8c Added tests that call _webp.WebPEncode and _webp.WebPDecode with invalid number of arguments. 2017-05-12 17:11:58 +02:00
Andrew Murray
37b293f593 Flake8 fixes 2017-04-20 21:14:23 +10:00
Hugo
a4bfe1a1d5 Test file with DPI in EXIF but not metadata, and XResolution is an int rather than tuple 2017-04-11 13:53:01 +03:00
Hugo
b2933dc1c4 Image from Simon Conseil with permission: https://github.com/python-pillow/Pillow/issues/2481#issuecomment-293215833 2017-04-11 13:45:48 +03:00
wiredfool
9207d71f30 Merge pull request #2475 from wiredfool/pr_2032
Added non-exclusive fd for test for #2330
2017-04-04 09:14:19 +01:00
wiredfool
f95c158933 added non-exclusive fd for test 2017-04-04 00:27:20 -07:00
wiredfool
0834e9491e Merge pull request #2330 from wiredfool/pr_2032
Close files after loading when possible.
2017-04-03 23:32:06 +01:00
wiredfool
bfa80cd3b3 Merge pull request #2296 from wiredfool/issue_2268
Fix Access to be reloadable -- Issue #2268
2017-04-03 23:30:25 +01:00
Hugo
53df62647a DPI is a tuple (#2472)
* DPI is a tuple

* Some EXIF only contains an X resolution for DPI

* Refactor

* Test with no DPI in EXIF

* Handle EXIF with no DPI

* Created with: exiftool "-*resolution*"= photoshop-200dpi.jpg

* Test when not in EXIF, DPI==72,72

* Use X resolution for Y, default to 72,72 dpi

* Created with: exiftool -exif:ResolutionUnit=cm photoshop-200dpi.jpg

* Test for EXIF with dpcm instead of dpi

* Convert dpcm to dpi, and default to inches if unit unknown
2017-04-03 23:28:33 +01:00
wiredfool
fe0a33173b Give up on appveyor for now, disable test 2017-04-03 11:47:20 -07:00
wiredfool
1c7e8a18d5 fix for appveyor environment? 2017-04-03 11:23:21 -07:00
wiredfool
06b61f4e5b close the mmap when closing the image #2194 2017-04-03 08:06:59 -07:00
wiredfool
db338ca19a open file check for windows, on jpeg where we don't mmap the file 2017-04-03 08:06:59 -07:00
wiredfool
86c1704646 add _close_exclusive_fp_after_load flag 2017-04-03 08:06:58 -07:00
Andrew Murray
8cd70e74cc Set executable flag on scripts with shebang line 2017-03-31 19:43:19 +11:00
Eric Soroos
6c1f923368 fixed test on python27 OMM 2017-03-22 21:20:37 +00:00
wiredfool
878881b1b9 Fix Access to be reloaded if the python interpreter is restarted when embedded. Fixes #2268. 2017-03-22 21:20:37 +00:00
wiredfool
900c5e5bf2 added unix test for fd leak 2017-03-14 23:17:22 +00:00
wiredfool
e4e0e0d2bf Adjusted test to match expected behavior 2017-03-14 23:17:22 +00:00
Marcus Brinkmann
e8122600f6 Test for: Close file handle in TiffImagePlugin when image is closed. 2017-03-14 23:17:22 +00:00
Marcus Brinkmann
5bdf1e4998 Test for libtiff, n_frames and seek. 2017-03-14 23:17:22 +00:00
Hugo
92acfca46f Test getting DPI from EXIF 2017-03-14 11:26:11 +02:00
Hugo
b7d14b04b6 Test MicImagePlugin for correctness 2017-03-13 08:18:13 +02:00
Hugo
92c32ccf37 Created in Microsoft Image Composer 1.5 from hopper.png 2017-03-13 07:58:47 +02:00
Hugo
1242b77872 Fix typos 2017-03-13 07:58:24 +02:00
wiredfool
c9f54c98a5 Merge pull request #1938 from wiredfool/python-decoder
Pure Python Decoders - fix for MSP decoding
2017-03-12 17:20:19 +00:00
wiredfool
184d4f8dc0 Test encode registry 2017-03-11 21:27:07 +00:00
wiredfool
d718d351b1 Testing empty extents 2017-03-11 16:43:44 +00:00
wiredfool
382833061e Trigger set_as_raw error 2017-03-11 16:30:28 +00:00
wiredfool
d70de6eb2d UnitTest PyDecoder 2017-03-11 15:35:03 +00:00
wiredfool
38f43c1e5f review lint 2017-03-11 13:50:19 +00:00
wiredfool
7fe29ec1c3 Added more additional files 2017-03-11 13:50:19 +00:00
Hugo
069ad8cbb0 Assert some pixel values 2017-03-11 13:50:19 +00:00
Hugo
8840f2b0fb Remove redundant assert and message 2017-03-11 13:50:19 +00:00
hugovk
38c6771be0 Load MSP files to test MSP decoder 2017-03-11 13:50:19 +00:00
hugovk
98b19a9f68 Test Windows v2 MSP files 2017-03-11 13:50:19 +00:00
hugovk
e44773c76c Test with bad checksum 2017-03-11 13:50:19 +00:00
hugovk
cac235bbd6 Created by forcing Pillow to save with checksum=0 2017-03-11 13:50:19 +00:00
wiredfool
f72ceda7c6 version 1 pickle for x-verson compatibility 2017-03-08 01:35:15 -08:00
wiredfool
4483dfbcb9 py3, pep8 2017-03-08 01:35:15 -08:00
wiredfool
1428e4140a Test for identical handling of getheader/getdata 2017-03-08 01:35:15 -08:00
wiredfool
51b46e00c2 Refactor out passed in palette handling, add ImagePalette as an option, document palette format 2017-03-08 01:35:15 -08:00
wiredfool
6559674032 Test passing in an I mode image 2017-03-08 01:35:15 -08:00
wiredfool
b7689627e8 Add tests for passing in a separate palette while saving a gif 2017-03-08 01:35:15 -08:00
Andrew Murray
9a36a51916 Test from #2375, 0ebb4cd1c0 2017-03-08 01:35:15 -08:00
Andrew Murray
af57ff8d45 Simplified code 2017-03-08 19:41:18 +11:00
Andrew Murray
bc8cd5fabf Added test 2017-03-08 19:41:18 +11:00
wiredfool
c0ca5c184d Merge pull request #2443 from hugovk/test-containerio
Test ContainerIO for correctness
2017-03-06 18:54:38 +00:00
wiredfool
9f88a55fa3 Merge pull request #2442 from hugovk/test-xvthumb
Test XVThumbImagePlugin for correctness
2017-03-06 18:53:58 +00:00
wiredfool
1a8f88986d Merge pull request #2441 from hugovk/test-bufrstub
Test BufrStubImagePlugin for correctness
2017-03-06 18:53:13 +00:00
Hugo
3e6d867ae8 Compare to a Hopper image with a similar XV palette 2017-03-06 17:33:47 +02:00
hugovk
d69e252eb8 Remove unnecessary lambda 2017-03-05 09:14:44 +02:00
hugovk
83252ca4b1 Test ContainerIO for correctness 2017-03-05 00:46:30 +02:00
hugovk
a03a6e2049 Test unexpected EOF 2017-03-04 23:33:43 +02:00
hugovk
dc3233d52c Created by editing hopper.p7 in a text editor 2017-03-04 23:31:49 +02:00
hugovk
052905bf5c Remove unnecessary lambda 2017-03-04 23:19:41 +02:00
hugovk
c79204bf08 Test XVThumbImagePlugin for correctness 2017-03-04 19:54:06 +02:00
hugovk
7371e813f6 pngtopam hopper.png | pamtoxvmini > hopper.p7 2017-03-04 19:52:49 +02:00
hugovk
35e6cb1d09 Test BufrStubImagePlugin for correctness 2017-03-04 16:35:54 +02:00
hugovk
f09427c8bd From http://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs.2017030406/ 2017-03-04 16:25:28 +02:00
hugovk
5d2e4f48dd Reorder tests to match others 2017-03-04 16:10:52 +02:00
hugovk
0abfa08ff7 Test GribStubImagePlugin for correctness 2017-03-04 13:07:48 +02:00
hugovk
adda419ad6 From http://www.globalmarinenet.com/free-grib-file-downloads/ 2017-03-04 13:04:50 +02:00
wiredfool
5071ea2a0e Merge pull request #2425 from radarhere/tests
Added tests
2017-03-03 15:44:33 +00:00
Andrew Murray
798fde57ca Removed unused imports 2017-03-03 21:38:19 +11:00
Andrew Murray
0b93853fd8 Removed duplicate imports 2017-03-03 21:38:19 +11:00
Andrew Murray
24eb48e9e0 Removed unnecessary lambdas 2017-03-03 21:38:19 +11:00
Andrew Murray
4a6e8d7e92 Removed unnecessary pass 2017-03-03 21:38:19 +11:00
Andrew Murray
18fea70b51 Removed unused variable 2017-03-03 21:38:19 +11:00
Andrew Murray
1fcdf6a2db Removed duplicate test 2017-03-03 21:38:19 +11:00
Andrew Murray
257bc8bd4f Added tests 2017-03-03 19:45:55 +11:00
wiredfool
2fb9c1a337 Merge pull request #2431 from hugovk/test-hdf5stub
Test Hdf5StubImagePlugin for correctness
2017-03-01 09:15:53 +00:00
hugovk
0489e38a0e Test Hdf5StubImagePlugin for correctness 2017-02-28 22:23:05 +02:00
hugovk
48f6be40cc Created via http://stackoverflow.com/a/29736206/724176 2017-02-28 22:21:47 +02:00
hugovk
a7a3bcda84 Test FitsStubImagePlugin for correctness 2017-02-28 21:44:26 +02:00
hugovk
76cde2fafb convert hopper.png hopper.fits 2017-02-28 21:40:58 +02:00
Hugo
49815f8d4a Test pixar for similarity 2017-02-28 08:27:53 +02:00
Hugo
c9e139e260 Image created with Photoshop 2017-02-28 08:22:03 +02:00
Hugo
df2a031941 Test PSD with and without ICC profile 2017-02-27 17:21:27 +02:00
Hugo
1a607bfd56 Resave hopper.psd with ICC profile, using Photoshop 2017-02-27 16:45:31 +02:00
Hugo
921a25d144 Test PSD seek 2017-02-27 16:20:18 +02:00
Hugo
5c3b10ee87 Test PSD for similarity 2017-02-27 16:20:18 +02:00
Hugo
cb34b686a5 Merge pull request #1822 from radarhere/unused
Remove unused imports
2017-02-26 10:05:19 +02:00
hugovk
c4b686f82d flake8 2017-02-23 02:41:28 -08:00
hugovk
e6864d16a8 Remove unrunnable code 2017-02-23 02:41:21 -08:00
wiredfool
64cd722038 Arch qpixmap is fixed on on the docker side with the environment variable QT_QPA_PLATFORM=offscreen 2017-02-22 08:10:08 -08:00
wiredfool
0ee223aa7a Merge pull request #1390 from radarhere/deprecated_27
Removed use of spaces in TIFF kwargs, deprecated in 2.7
2017-02-22 10:13:45 +00:00
wiredfool
a4ef743b0f Merge pull request #2220 from jdufresne/image-draw-dep
Remove long deprecated ImageDraw methods
2017-02-22 10:12:05 +00:00
wiredfool
8421a076ac Merge pull request #2253 from jdufresne/devnull
Send unwanted subprocess output to /dev/null
2017-02-22 10:10:03 +00:00
hugovk
310105625c Failing test case for #2259 2017-02-22 08:16:17 +02:00
wiredfool
c05ac25d6a Merge pull request #2381 from hugovk/convert-matrix
Test matrix convert
2017-02-20 22:37:25 +00:00
wiredfool
5969a7445b Merge pull request #2394 from wiredfool/travis-docker
Additional docker builds, Arch and Debian Stretch, fix for QT tests.
2017-02-20 21:59:20 +00:00
wiredfool
d707cb3692 Tight similarity tests for XYZ conversion 2017-02-20 13:41:28 -08:00
Eric Soroos
89443ae950 B/W images don't save properly in QT4 either 2017-02-20 12:28:13 -08:00
Eric Soroos
1b94ff81fe Skip failing QPixmap/QT5 tests on Arch 2017-02-20 08:51:17 -08:00
Eric Soroos
9b82bdbb10 fix ToQimage tests for QT5 2017-02-20 08:51:17 -08:00
ces42
8fb44a2bee More explicit error message when saving to a file with invalid extension (#2399)
* more explicit error message when saving to a file with invalid extension + test
2017-02-17 13:39:16 +00:00
wiredfool
b5f6732501 Merge pull request #2397 from radarhere/psdraw
Added anchor to readthedocs URL
2017-02-17 13:37:33 +00:00
Leonid Bloch
28b818974e Allow to save tiff stacks from separate images
This is a quick solution that will allow to save tiff stacks from
separate images, e.g. from Numpy arrays.
Previously, tiff stacks could be saved only from multiframe images.
This behavior is similar to what is possible now with GIFs.

Note however, that for correct results, all the appended images should
have the same encoder{info,config} properties.

Example:

import numpy as np
from PIL import Image
a = np.ones((100,100,100), dtype=np.uint8)
imlist = []
for m in a:
    imlist.append(Image.fromarray(m))

imlist[0].save("test.tif", compression="tiff_deflate", save_all=True,
               append_images=imlist[1:])

(Should result in a 100-frame, 100x100 tiff stack.)

Signed-off-by: Leonid Bloch <leonid.bloch@esrf.fr>
2017-02-17 00:57:00 +02:00
Hugo
53e5702557 Update http to https 2017-02-14 11:27:02 +02:00
Andrew Murray
63d0a5a326 Added anchor to readthedocs URL 2017-02-11 12:47:10 +11:00
wiredfool
3ea2599984 Merge pull request #2355 from gunjambi/imagecms-preserve-aux-channels
Imagecms preserve aux channels
2017-02-07 19:38:05 +00:00
wiredfool
9c4eafc188 Merge pull request #2382 from hugovk/test-effects
Test linear and radial gradient effects
2017-02-06 21:58:41 +00:00
hugovk
d7fe8d1eb7 Linear and radial gradient: only need one target image 2017-02-06 22:03:17 +02:00
wiredfool
cdaa448782 Merge pull request #2389 from hugovk/outline
Test ImageDraw.Outline and and ImageDraw.Shape
2017-02-06 16:57:18 +00:00
wiredfool
b93025fa5b Merge pull request #2380 from evalapply/master
BUG fix: '' in image mode no longer causes a crash
2017-01-31 19:03:29 +00:00
hugovk
96dfd722c3 Test ImageDraw.Outline curve 2017-01-31 08:22:33 +02:00
hugovk
008431fe0e Test ImageDraw.Outline curve 2017-01-30 21:50:48 +02:00
Hugo
04e3f585b0 Test no change with identity matrix 2017-01-30 14:28:00 +02:00
Hugo
7fba16b074 Test for similarity 2017-01-30 14:27:29 +02:00
hugovk
07af06bf8c Expose and test radial_gradient 2017-01-29 18:44:24 +02:00
hugovk
3ead178d18 flake8 2017-01-29 18:38:06 +02:00
hugovk
47b1c66961 Expose and test linear_gradient 2017-01-29 18:17:31 +02:00
hugovk
fdf0737fcd Test matrix convert for ValueError: image has wrong mode 2017-01-29 15:55:17 +02:00
hugovk
90dac5f4dc Refactor and test matrix convert with RGB and L modes 2017-01-29 14:24:49 +02:00
hugovk
cea36587ab Test matrix convert 2017-01-29 14:03:38 +02:00
Lukasz Kozuchowski
3e317f3ca0 Empty image mode test 2017-01-29 07:50:28 +01:00
Jarkko Pöyry
fa56b3d255 Add tests for CMS transform auxiliary channel preservation. See bug #1662. 2017-01-28 22:04:49 +02:00
Andrew Murray
e67ee44ea8 Added test for missing method data in Image transform 2017-01-28 14:21:41 +11:00
Andrew Murray
cd114cef3f Added test for Image fromstring NotImplementedError 2017-01-28 14:16:39 +11:00
Andrew Murray
2039d43d85 Added test for unknown filter in Image resize 2017-01-28 14:09:28 +11:00
Andrew Murray
01cb6590a4 Added test for point operation on F mode image 2017-01-28 14:02:22 +11:00
Andrew Murray
e8495e5917 Added test for abbreviated Image paste mask syntax 2017-01-28 13:50:44 +11:00
Andrew Murray
581fef2ebd Added test for Image offset NotImplementedError 2017-01-28 13:06:28 +11:00
Jon Dufresne
cecdb2af61 Send unwanted subprocess output to /dev/null
Avoids unnecessary creation of temporary files as well as unnecessarily
storing process output in memory. The temporary files would sometimes
remain and not be cleaned up.
2017-01-26 17:31:29 -08:00
wiredfool
2df28a6601 Merge pull request #2347 from radarhere/icc_profile
Moved iCCP chunk before PLTE chunk when saving as PNG
2017-01-26 14:26:25 +00:00
wiredfool
a62f2c5b44 Merge pull request #2365 from SemanticsOS/lambdafu/dpiresolution
Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin
2017-01-26 14:22:32 +00:00
wiredfool
2d06d8550f Merge pull request #2359 from wiredfool/issue_1902
Fix for issue ImageTk Integer Overflow error
2017-01-26 14:12:32 +00:00
Eric Soroos
e66271d464 added tests for functionality in ImageTk 2017-01-26 05:31:45 -08:00
Andrew Murray
f0480de118 Restricted PNG encoderinfo chunks to valid values when saving 2017-01-21 16:57:03 +11:00
Andrew Murray
ded14572a1 Added more tests for PNG chunk ordering 2017-01-21 14:47:59 +11:00
Andrew Murray
361f579579 Moved iCCP chunk before PLTE chunk when saving as PNG 2017-01-21 13:32:22 +11:00
Eric Soroos
94cc72a2ba disable tests broken on old system versions of numpy/scipy 2017-01-20 11:35:49 -08:00
Hugo
bceee54895 Prevent nose -v printing docstrings (#2369) 2017-01-20 19:10:02 +00:00
Marcus Brinkmann
8a9bd2cdcd Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin. 2017-01-19 17:24:28 +01:00
Andrew Murray
b82151f281 Removed unused division import 2017-01-18 20:06:47 +11:00
Andrew Murray
c168f01111 Removed imports used only by comments 2017-01-18 20:06:47 +11:00
Andrew Murray
97a2d42dac Removed unused print_function imports 2017-01-18 20:06:21 +11:00
wiredfool
c1b510c72c Merge pull request #2307 from radarhere/contextmanagers
Added context managers
2017-01-17 13:20:41 +00:00
Andrew Murray
89742225bf Fixed test coverage 2017-01-07 13:20:16 +11:00
Andrew Murray
2a93cdb698 Simplified assertEqual checks to assertTrue 2017-01-07 11:35:09 +11:00
Luis G
dad5971561 Add unit tests
Add unit tests for registered_extensions
2017-01-07 11:32:16 +11:00
Andrew Murray
c5265e2100 Added test for crop operation with no argument 2017-01-03 13:30:09 +11:00
wiredfool
45138fec9b Added output checked tests for rotate with center and translate 2017-01-01 11:09:06 +00:00
wiredfool
7228de1491 test image 2016-12-31 19:31:02 +00:00
wiredfool
5fda1a803a Added resample target test 2016-12-31 19:30:26 +00:00
wiredfool
cc1ba56c28 Refactor tests 2016-12-31 19:12:39 +00:00
Marcus Brinkmann
90077b3975 Add center and translate option to Image.rotate. 2016-12-31 19:01:09 +00:00
wiredfool
5269828d3a Test: Relax WMF test condition, fixes #2323 2016-12-31 17:38:35 +00:00
wiredfool
c7df6287fa Merge pull request #2262 from wiredfool/zero_size
Allow 0 size images, Fixes #2259
2016-12-31 16:35:14 +00:00
wiredfool
20abc9cdfe Fix size check on expan for image_rotate 2016-12-31 13:31:51 +00:00
wiredfool
7d59183c1d Zero image size test 2016-12-31 13:19:29 +00:00
wiredfool
0a922b962f tests for basic operations on 0x0 images 2016-12-31 13:19:29 +00:00
wiredfool
69bea50810 Allow 0 size images, Fixes #2259 2016-12-31 13:19:29 +00:00
wiredfool
3d185ee857 added tests for sgi writing 2016-12-31 12:29:10 +00:00
wiredfool
95888466c8 Added correctness tests for opening SGI images 2016-12-30 22:20:46 +00:00
Andrew Murray
a06dd59df7 Added context managers 2016-12-28 09:54:10 +11:00
wiredfool
944a470a79 Merge pull request #2312 from wiredfool/pr_2298
List of individual frame durations for saving animated gifs. #2298
2016-12-27 12:00:40 +00:00
wiredfool
f36a04570f Merge pull request #2313 from wiredfool/pr_2196
Unified different GIF optimize conditions #2196, Test for #2196
2016-12-27 11:53:50 +00:00
wiredfool
915270ef6f test for issue #2195 2016-12-27 03:33:20 -08:00
wiredfool
e530f2a228 Added tuple option for durations 2016-12-27 03:04:37 -08:00
wiredfool
87092ad4f8 can pass list of integer to set different duration for each frame when saving GIF 2016-12-27 02:44:05 -08:00
Alessio Sergi
7e8a6c61f8 Use pathlib2 for Path objects on Python < 3.4
The pathlib backport module is no longer maintained. The development
has moved to the pathlib2 module instead.

Quoting from the pathlib's README:
"Attention: this backport module isn't maintained anymore. If you want
to report issues or contribute patches, please consider the pathlib2
project instead."

Other projects have already switched to pathlib2, most notably IPython
and its dependencies.
2016-12-17 18:50:50 +01:00
wiredfool
80b78be21a Merge pull request #2199 from jdufresne/dep-olefile
Remove vendored version of olefile Python package in favor of upstream
2016-12-13 20:12:29 +00:00
wiredfool
55f7a736a4 Merge pull request #2234 from radarhere/print
Updated comments to use print as a function
2016-12-13 20:00:25 +00:00
wiredfool
9f711ea59a Merge pull request #2286 from hugovk/change-freetype2.7-epsilon
Increase epsilon for FreeType 2.7
2016-12-13 19:54:00 +00:00
wiredfool
86ff654487 Merge pull request #2279 from uploadcare/fast-assert_image_similar
Fast assert_image_similar
2016-12-13 19:52:50 +00:00
hugovk
acf68c835c Increase epsilon for FreeType 2.7 2016-12-12 15:16:43 +02:00
Andrew Murray
41e492b026 Removed use of spaces in TIFF kwargs, deprecated in 2.7 2016-12-09 20:44:42 +11:00
Hugo
e83479edf0 Merge pull request #2263 from wiredfool/tiff_bytesio
Fix for writing Tiff to BytesIO using libtiff
2016-12-09 11:04:41 +02:00
Alexander
9ee1f58215 fix I;16 mode 2016-12-07 05:16:10 +03:00
Alexander
ba92896a53 remove old version 2016-12-07 04:39:36 +03:00
Alexander
52c8e2050e replace test "1"-mode image 2016-12-07 03:09:13 +03:00
Alexander
8967a20ad7 test new assert_image_similar implementation 2016-12-07 03:07:20 +03:00
wiredfool
aa247dbb60 Moving tests requiring libtiff to test_file_libtiff 2016-12-05 08:25:10 -08:00
Hugo
837d583b15 Merge pull request #2275 from wiredfool/issue_2272
Update Maxblock heuristic (fixes #2272)
2016-12-04 21:38:22 +02:00
Hugo
03b9d718fc Merge pull request #2274 from wiredfool/issue_2258
Fix for 2 bit palette corruption #2258
2016-12-04 12:27:40 +02:00
wiredfool
d983aead74 Py3 bytes 2016-12-03 14:49:44 +00:00
wiredfool
7e2bd28a7c Fix for issue 2272, CMYK images miss the heuristic for the maxblock buffer scaling 2016-12-03 14:45:45 +00:00
wiredfool
4b57345683 Refactor random image 2016-12-03 14:45:05 +00:00
wiredfool
88c43b61b7 Fix for #2258, 2 bit palette images corrupted 2016-12-03 14:08:59 +00:00
wiredfool
86606022c5 Merge pull request #2193 from SemanticsOS/lambdafu/libtiff-icc
Update info.icc_profile when using libtiff reader.
2016-12-03 13:44:26 +00:00
wiredfool
8a68bd6daa Merge pull request #2270 from ChristopherHogan/test_ifd_rational_save
Test: Fix bug in test_ifd_rational_save
2016-12-03 13:38:02 +00:00
homm
77210e410d test for common modes and filters
pass box for RGBA → RGBa conversion
2016-12-02 16:33:48 +03:00
homm
cf25722a73 improve error message 2016-12-02 15:42:33 +03:00
homm
295382aadc vertical and horizontal pass with boxes 2016-12-02 15:40:32 +03:00
homm
1477fbc07a update tests, add comments 2016-12-02 02:59:40 +03:00
Chris Hogan
711e95e361 Fix bug in test_idf_rational_save
A boolean wrapped in parentheses is still a boolean, not a tuple.
The comma makes this an actual tuple so it can be iterated on in
the for loop.
2016-12-01 11:10:03 -06:00
homm
6def4bfc73 roi → box 2016-11-30 20:01:28 +03:00
hugovk
ed4c0a58e8 Test case for #2266 2016-11-30 16:36:04 +02:00
hugovk
4061c3836c Created with IrfanView 2016-11-30 14:38:04 +02:00
hugovk
4d6c2d5601 Test saving 256x256 icons 2016-11-30 14:37:50 +02:00
wiredfool
e0b957240b Merge pull request #2087 from cskau/patch-1
Fixes TIFFImagePlugin ICC color profile saving.
2016-11-29 19:33:52 +00:00
glexey
0116c9240e EMF: support negative bounding box coordinates (#2249)
* EMF: support negative bounding box coordinates

Similar to placeable WMF, bounding box coordinates
should be interpreted as signed integer, otherwise
opening EMF file with negative (x0,y0) fails.

* Basic load tests for WMF and EMF formats

* WMF/WMF tests: just test open(), not load()

Not sure why load() fails on Debian build. Well, at least we can test
open().

* WMF/EMF: Unpack signed integers using unpack()

* WMF/EMF: Compare to reference PNG rendering

* EMF/WMF comparison: use assert_image_similar()

* Use similarity epsilon 0.5 for WMF, as vector rendering looks different across Windows platforms

* Trigger rebuild
2016-11-27 16:03:51 +00:00
Andrew Murray
67be3a9eda Added future print_function imports 2016-11-26 11:05:56 +11:00
Andrew Murray
4ed31e8ef7 Updated comments to use print as a function 2016-11-26 11:02:44 +11:00
homm
44e443fa75 fix int boundaries 2016-11-26 01:38:55 +03:00
homm
ef787bc3f5 use ROI in precompute_coeffs 2016-11-24 06:11:36 +03:00
homm
a1fedc0f8a expose roi to precompute_coeffs (still noop) 2016-11-24 06:05:20 +03:00
homm
338610b112 nearest and copy ROI 2016-11-24 05:12:41 +03:00
homm
f828416752 add roi argument to Image.resize() method
constraints check
2016-11-24 04:40:54 +03:00
homm
bcb6d606a2 fix typo! 2016-11-24 04:07:06 +03:00
homm
d4784bffb2 return copy of the image if size matches 2016-11-24 03:30:36 +03:00
homm
9947794ccd fix spelling error 2016-11-24 03:09:34 +03:00
wiredfool
ce3432f5f4 Test for issue #2206 2016-11-23 06:24:40 -08:00
Hugo
6fa7f3fc67 Merge pull request #2241 from wiredfool/sunrle
SunImagePlugin fixes
2016-11-23 16:10:17 +02:00
wiredfool
212508b3f2 Review comments 2016-11-23 05:33:02 -08:00
Jon Dufresne
52b1f46b12 Deprecate vendored version of olefile Python package in favor of upstream
Pillow now requires the olefile Python package through setup.py.

This removes Pillow's maintenance of this library by instead relying on
and reusing the upstream version. No longer need to regularly update the
vendored package and docs. olefile bug fixes and features can go
directly upstream.

During travis tests, now installs Pillow package before tests; this will
also install all dependencies (currently, only olefile).
2016-11-22 18:17:31 -08:00
wiredfool
620d082457 Merge pull request #2240 from uploadcare/draft-min-scale
Use minimal scale for jpeg drafts
2016-11-22 15:22:59 +00:00
wiredfool
82caa13a02 Additional test images for sun raster files 2016-11-22 07:19:58 -08:00
Jon Dufresne
dbe9f85c7d Drop support for Python 2.6
* Drop unittest2 requirement
* Use set literals
* Use dict/set comprehension
* Use str.format() automatic numbering
2016-11-22 04:23:55 -08:00
wiredfool
87b8d2894a Merge pull request #2227 from radarhere/fpname
Fixed bug in saving to fp-objects in Python >= 3.4
2016-11-22 12:03:25 +00:00
homm
55fca4857c protect .draft() from second call 2016-11-22 04:28:04 +03:00
homm
8f6b7b258b use minimal scale for jpeg downscaling 2016-11-22 04:00:49 +03:00
wiredfool
318ff7d332 fixed support for hopper.ras, and other RGB sun raster files 2016-11-19 19:43:43 -08:00
wiredfool
e43c91cf1c Working 1 bit sun_rle raster file 2016-11-19 19:16:46 -08:00
Andrew Murray
38fd77ca7d Fixed bug in saving to fp-objects in Python >= 3.4 2016-11-15 20:13:25 +11:00
Jon Dufresne
ffa5bc2726 Use generator expressions instead of list comprehension
Avoids unnecessary temporary lists in memory.
2016-11-14 18:11:15 -08:00
Andrew Murray
b6a4d9bc94 Added test 2016-11-15 06:38:54 +11:00
wiredfool
8c36cd09f7 Merge pull request #2221 from jmerdich/master
Add support for another type of BMP bitfield
2016-11-14 16:13:10 +00:00
Jake Merdich
991df9b87a Update test image for xbgr bmp files 2016-11-14 10:26:57 -05:00
Jake Merdich
e63b97ea42 Add testing for bmp 'questionable' files 2016-11-14 10:10:56 -05:00
Andrew Murray
3dcef86fe5 Added missing top-level test code 2016-11-14 21:12:25 +11:00
Jon Dufresne
a5d6519d74 Remove long deprecated ImageDraw methods
Deprecated in 89ccf66ff7 since Sep 29,
2015, version 3.0.0.
2016-11-13 10:08:47 -08:00
wiredfool
9ee19f2aa9 Merge pull request #2182 from wiredfool/pyside_segfault
Fix for ImageQt Segfault
2016-11-11 17:00:27 +00:00
Jon Dufresne
f041188050 Replace try/except/fail pattern with TestCase.assertRaises()
Replace pattern with the builtin support for asserting exceptions.
2016-11-06 13:43:09 -08:00
Clement Skau
caf53b05ec Fixes TIFFImagePlugin ICC color profile saving.
In the TIFF code saving icc_profile is conditional on tag_v2 being set which doesn't make sense to me. I believe this is merely an indentation typo.

I've been trying to save TIFFs with im.info['icc_profile'] set and compression=raw, but unfortunately this results in TIFFs without ICC color profiles.
With the attached patch TIFFs with said conditions will be saved with the profile set in im.info['icc_profile'].

Note: There are a number of different conditions that need to be met for code to succeed in saving with the profile since it branches between using libtiff and ImageFile._save(..), and the libtiff code does not currently save the ICC color profile.
For instance setting compression=tiff_lzw will result in using libtiff and no profile will be saved.
2016-11-05 15:01:39 +09:00
Marcus Brinkmann
66de02685f Update info.icc_profile when using libtiff reader. 2016-11-04 16:37:49 +01:00
Hugo
48b72eac34 Merge pull request #2184 from jdufresne/isinstance
Replace type() equality checks with isinstance
2016-11-01 19:07:06 +02:00
Jon Dufresne
a33939f5c3 Remove unused, open files at top level of tests.
The data read from the file was unused. The files remained opened and
were never explicitly closed.

Fixes some instances of warnings during tests:

"ResourceWarning: unclosed file ..."
2016-11-01 06:34:17 -07:00
Jon Dufresne
e44bb42ae9 Replace type() equality checks with isinstance 2016-10-31 06:41:43 -07:00
wiredfool
8582144e0e Fix for issue #1370, Segfault using QImages due to not retaining the data 2016-10-27 14:11:06 -07:00
Jon Dufresne
7992d2a65a Fix BytesWarning discovered while running tests
Discovered using the command:

python -b -m nose -vx Tests/test_*.py
2016-10-22 12:35:44 -07:00
Alexander Karpinsky
5a359fbf28 Fix coefficients calculation (#2162)
Fix coefficients calculation

* test for regression

* detailed comments what is going on
prevent setting the `k[-1]` item

* more readable
2016-10-17 01:31:45 -07:00
homm
923f0bb9b3 improve test 2016-10-04 03:11:53 +03:00
homm
c5e111e6b8 allow lists as arguments for Image.new 2016-10-04 03:06:35 +03:00
wiredfool
22ff3f4358 Vulnerable map function is not called on windows 2016-10-03 07:42:48 -07:00
wiredfool
aa8cfce94c IOError is also a valid error here 2016-10-03 07:33:29 -07:00
wiredfool
b3ad80a2bd Image.core.open_ppm has been removed. Test the Storage.c fix with an alternate method. Assert that the ordinary opener rejects the negative size in the PPM file 2016-10-03 07:27:02 -07:00
wiredfool
445451c0b9 Added common check for size tuple errors 2016-10-03 07:27:02 -07:00
wiredfool
c50ebe6459 Map.c overflow fixes 2016-10-03 07:27:02 -07:00
wiredfool
5d8a0be45a Memory error in Storage.c when accepting negative image size arguments 2016-10-03 07:27:02 -07:00
wiredfool
d9fc1848a2 Merge pull request #2140 from SemanticsOS/lambdafu/tiff-multipage
Add TIFF save_all writer.
2016-10-03 06:31:39 -07:00
wiredfool
2db3f00e92 Merge pull request #2141 from wiredfool/tiff_fd
Move libtiff fd duplication to _load_libtiff
2016-10-03 06:03:50 -07:00
wiredfool
f8e6953e6e Merge pull request #2133 from wiredfool/gif-optimize-perf
Speed up GIF save optimization step
2016-10-03 06:03:12 -07:00
wiredfool
9440764863 Merge pull request #2131 from wiredfool/imagecms-segfault
Fix for ImageCms Segfault
2016-10-03 06:02:39 -07:00
wiredfool
ab29e2fa24 Merge pull request #2138 from wiredfool/issue_1077
Make Image.crop an immediate operation, not lazy.
2016-10-03 06:01:34 -07:00
Andrew Murray
4c28926da3 Fixed typos 2016-10-02 21:31:53 +11:00
wiredfool
b81da5a322 Tests for issue #1651 2016-09-29 22:29:19 +01:00
Eric Soroos
95b50bf611 Make Image.crop an immediate operation, not lazy. Fixes #1077 2016-09-29 13:28:24 -07:00
wiredfool
4a90e8f75b Merge pull request #2024 from uploadcare/fix-empty-exif-tags
Skip empty values in ImageFileDirectory
2016-09-29 08:24:44 -07:00
wiredfool
0902120f09 Merge pull request #2139 from SemanticsOS/lambdafu/multipage-tiff-palette
Force reloading palette when using mmap in ImageFile.
2016-09-29 08:20:25 -07:00
Marcus Brinkmann
92c7337df0 Add TIFF save_all writer. 2016-09-29 17:05:33 +02:00
Marcus Brinkmann
c74e45e87c Force reloading palette when using mmap in ImageFile. 2016-09-29 14:54:25 +02:00
Tim Graham
0c66b80a95 Fix "invalid escape sequence" warning in Python 3.6
http://bugs.python.org/issue27364
2016-09-27 19:26:57 -04:00
wiredfool
bc66e2b34a py3 fix 2016-09-26 15:15:43 -07:00
wiredfool
1d068b6e0a Check type of items passed into to ImageCms.ImageCmsProfile, fixes #2037 2016-09-26 14:56:00 -07:00
wiredfool
a51d3bcdba Speed up Gif save optimization step: don't do it as often and do it in C. Fixes #2093 2016-09-26 14:51:28 -07:00
Andrew Murray
d3d29ab2e3 Use truth value when checking for optimize option on save 2016-09-25 21:20:54 +10:00
wiredfool
21d1fd6be0 Merge pull request #2125 from radarhere/macos
Renamed references to OS X to macOS
2016-09-25 09:31:01 +01:00