Pillow/Tests/test_image_fromqimage.py

49 lines
1.3 KiB
Python

from helper import unittest, PillowTestCase, hopper
from test_imageqt import PillowQtTestCase
from PIL import ImageQt, Image
class TestFromQImage(PillowQtTestCase, PillowTestCase):
files_to_test = [
hopper(),
Image.open('Tests/images/transparent.png'),
Image.open('Tests/images/7x13.png'),
]
def roundtrip(self, expected):
# PIL -> Qt
intermediate = expected.toqimage()
# Qt -> PIL
result = ImageQt.fromqimage(intermediate)
if intermediate.hasAlphaChannel():
self.assert_image_equal(result, expected.convert('RGBA'))
else:
self.assert_image_equal(result, expected.convert('RGB'))
def test_sanity_1(self):
for im in self.files_to_test:
self.roundtrip(im.convert('1'))
def test_sanity_rgb(self):
for im in self.files_to_test:
self.roundtrip(im.convert('RGB'))
def test_sanity_rgba(self):
for im in self.files_to_test:
self.roundtrip(im.convert('RGBA'))
def test_sanity_l(self):
for im in self.files_to_test:
self.roundtrip(im.convert('L'))
def test_sanity_p(self):
for im in self.files_to_test:
self.roundtrip(im.convert('P'))
if __name__ == '__main__':
unittest.main()