mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-27 02:16:19 +03:00
e2221de8f5
If PNG (zlib) support is disabled, use .pcx for test_image_split which is unconditional. Since it does not support RGBA, skip the RGBA test. Otherwise, just use PNG and do the full test.
50 lines
1.9 KiB
Python
50 lines
1.9 KiB
Python
from tester import *
|
|
|
|
from PIL import Image
|
|
|
|
def test_split():
|
|
def split(mode):
|
|
layers = lena(mode).split()
|
|
return [(i.mode, i.size[0], i.size[1]) for i in layers]
|
|
assert_equal(split("1"), [('1', 128, 128)])
|
|
assert_equal(split("L"), [('L', 128, 128)])
|
|
assert_equal(split("I"), [('I', 128, 128)])
|
|
assert_equal(split("F"), [('F', 128, 128)])
|
|
assert_equal(split("P"), [('P', 128, 128)])
|
|
assert_equal(split("RGB"), [('L', 128, 128), ('L', 128, 128), ('L', 128, 128)])
|
|
assert_equal(split("RGBA"), [('L', 128, 128), ('L', 128, 128), ('L', 128, 128), ('L', 128, 128)])
|
|
assert_equal(split("CMYK"), [('L', 128, 128), ('L', 128, 128), ('L', 128, 128), ('L', 128, 128)])
|
|
assert_equal(split("YCbCr"), [('L', 128, 128), ('L', 128, 128), ('L', 128, 128)])
|
|
|
|
def test_split_merge():
|
|
def split_merge(mode):
|
|
return Image.merge(mode, lena(mode).split())
|
|
assert_image_equal(lena("1"), split_merge("1"))
|
|
assert_image_equal(lena("L"), split_merge("L"))
|
|
assert_image_equal(lena("I"), split_merge("I"))
|
|
assert_image_equal(lena("F"), split_merge("F"))
|
|
assert_image_equal(lena("P"), split_merge("P"))
|
|
assert_image_equal(lena("RGB"), split_merge("RGB"))
|
|
assert_image_equal(lena("RGBA"), split_merge("RGBA"))
|
|
assert_image_equal(lena("CMYK"), split_merge("CMYK"))
|
|
assert_image_equal(lena("YCbCr"), split_merge("YCbCr"))
|
|
|
|
def test_split_open():
|
|
codecs = dir(Image.core)
|
|
|
|
if 'zip_encoder' in codecs:
|
|
file = tempfile("temp.png")
|
|
else:
|
|
file = tempfile("temp.pcx")
|
|
|
|
def split_open(mode):
|
|
lena(mode).save(file)
|
|
im = Image.open(file)
|
|
return len(im.split())
|
|
assert_equal(split_open("1"), 1)
|
|
assert_equal(split_open("L"), 1)
|
|
assert_equal(split_open("P"), 1)
|
|
assert_equal(split_open("RGB"), 3)
|
|
if 'zip_encoder' in codecs:
|
|
assert_equal(split_open("RGBA"), 4)
|