Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
        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()