from PIL import ImageFileIO class TestImageFileIo(PillowTestCase): def test_fileio(self): class DumbFile: def __init__(self, data): self.data = data def read(self, bytes=None): assert(bytes is None) return self.data def close(self): pass im1 = lena() io = ImageFileIO.ImageFileIO(DumbFile(tostring(im1, "PPM"))) im2 = Image.open(io) self.assert_image_equal(im1, im2) if __name__ == '__main__': unittest.main() # End of file
self._test_set_access(hopper('F'), 1024.0) im = Image.new('I;16', (10, 10), 40000) self._test_set_access(im, 45000) im = Image.new('I;16L', (10, 10), 40000) self._test_set_access(im, 45000) im = Image.new('I;16B', (10, 10), 40000) self._test_set_access(im, 45000) im = Image.new('I', (10, 10), 40000) self._test_set_access(im, 45000) # im = Image.new('I;32L', (10, 10), -(2**10)) # self._test_set_access(im, -(2**13)+1) # im = Image.new('I;32B', (10, 10), 2**10) # self._test_set_access(im, 2**13-1) # ref https://github.com/python-pillow/Pillow/pull/2009 def test_reference_counting(self): size = 10 for _ in range(10): # Do not save references to the image, only to the access object px = Image.new('L', (size, 1), 0).load() for i in range(size): # pixels can contain garbage if image is released self.assertEqual(px[i, 0], 0) if __name__ == '__main__': unittest.main()