mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-11 04:07:21 +03:00
71 lines
1.6 KiB
Python
71 lines
1.6 KiB
Python
from tester import *
|
|
|
|
from PIL import Image
|
|
|
|
|
|
def helper_test_pickle_file(pickle, protocol=0):
|
|
im = Image.open('Images/lena.jpg')
|
|
filename = tempfile('temp.pkl')
|
|
|
|
# Act
|
|
with open(filename, 'wb') as f:
|
|
pickle.dump(im, f, protocol)
|
|
with open(filename, 'rb') as f:
|
|
loaded_im = pickle.load(f)
|
|
|
|
# Assert
|
|
assert_image_completely_equal(im, loaded_im)
|
|
|
|
|
|
def helper_test_pickle_string(pickle, protocol=0, file='Images/lena.jpg'):
|
|
im = Image.open(file)
|
|
|
|
# Act
|
|
dumped_string = pickle.dumps(im, protocol)
|
|
loaded_im = pickle.loads(dumped_string)
|
|
|
|
# Assert
|
|
assert_image_completely_equal(im, loaded_im)
|
|
|
|
|
|
def test_pickle_image():
|
|
# Arrange
|
|
import pickle
|
|
|
|
# Act / Assert
|
|
for protocol in range(0, pickle.HIGHEST_PROTOCOL + 1):
|
|
helper_test_pickle_string(pickle, protocol)
|
|
helper_test_pickle_file(pickle, protocol)
|
|
|
|
|
|
def test_cpickle_image():
|
|
# Arrange
|
|
try:
|
|
import cPickle
|
|
except ImportError:
|
|
return
|
|
|
|
# Act / Assert
|
|
for protocol in range(0, cPickle.HIGHEST_PROTOCOL + 1):
|
|
helper_test_pickle_string(cPickle, protocol)
|
|
helper_test_pickle_file(cPickle, protocol)
|
|
|
|
|
|
def test_pickle_p_mode():
|
|
# Arrange
|
|
import pickle
|
|
|
|
# Act / Assert
|
|
for file in [
|
|
"Tests/images/test-card.png",
|
|
"Tests/images/zero_bb.png",
|
|
"Tests/images/zero_bb_scale2.png",
|
|
"Tests/images/non_zero_bb.png",
|
|
"Tests/images/non_zero_bb_scale2.png",
|
|
"Tests/images/p_trns_single.png",
|
|
"Tests/images/pil123p.png"
|
|
]:
|
|
helper_test_pickle_string(pickle, file=file)
|
|
|
|
# End of file
|