hoist import, move test to libtiff

This commit is contained in:
wiredfool 2014-11-15 20:38:52 -08:00
parent 8b0ecb6192
commit 9a2cc7df83
3 changed files with 31 additions and 30 deletions

View File

@ -54,6 +54,7 @@ import sys
import collections
import itertools
import os
import io
# Set these to true to force use of libtiff for reading or writing.
READ_LIBTIFF = False
@ -1128,7 +1129,6 @@ def _save(im, fp, filename):
print (ifd.items())
_fp = 0
if hasattr(fp, "fileno"):
import io
try:
fp.seek(0)
_fp = os.dup(fp.fileno())

View File

@ -1,6 +1,7 @@
from helper import unittest, PillowTestCase, hopper, py3
import os
import io
from PIL import Image, TiffImagePlugin
@ -59,9 +60,8 @@ class TestFileLibTiff(LibTiffTestCase):
def test_g4_tiff_bytesio(self):
"""Testing the stringio loading code path"""
from io import BytesIO
file = "Tests/images/hopper_g4_500.tif"
s = BytesIO()
s = io.BytesIO()
with open(file, 'rb') as f:
s.write(f.read())
s.seek(0)
@ -357,6 +357,34 @@ class TestFileLibTiff(LibTiffTestCase):
self.assertEqual(im.mode, "L")
self.assert_image_similar(im, original, 7.3)
def test_save_bytesio(self):
# PR 1011
# Test TIFF saving to io.BytesIO() object.
TiffImagePlugin.WRITE_LIBTIFF = True
TiffImagePlugin.READ_LIBTIFF = True
# Generate test image
pilim = hopper()
def save_bytesio(compression=None):
testfile = self.tempfile("temp_.tiff".format(compression))
buffer_io = io.BytesIO()
pilim.save(buffer_io, format="tiff", compression=compression)
buffer_io.seek(0)
pilim_load = Image.open(buffer_io)
self.assert_image_similar(pilim, pilim_load, 0)
# save_bytesio()
save_bytesio('raw')
save_bytesio("packbits")
save_bytesio("tiff_lzw")
TiffImagePlugin.WRITE_LIBTIFF = False
TiffImagePlugin.READ_LIBTIFF = False

View File

@ -326,33 +326,6 @@ class TestFileTiff(PillowTestCase):
# Should not divide by zero
im.save(outfile)
def test_save_bytesio(self):
# PR 1011
# Test TIFF saving to io.BytesIO() object.
# Generate test image
pilim = Image.new('F', (100, 100), 0)
def save_bytesio(compression=None):
import io
testfile = self.tempfile("temp_.tiff".format(compression))
buffer_io = io.BytesIO()
pilim.save(buffer_io, format="tiff", compression=compression)
buffer_io.seek(0)
data = buffer_io.read()
buffer_io.close()
with open(testfile, "wb") as fd:
fd.write(data)
pilim_load = Image.open(testfile)
self.assert_image_similar(pilim, pilim_load, 0)
# save_bytesio()
save_bytesio("packbits")
save_bytesio("tiff_lzw")
if __name__ == '__main__':
unittest.main()