from helper import unittest, PillowTestCase, hopper from PIL import Image import copy class TestImageCopy(PillowTestCase): def test_copy(self): croppedCoordinates = (10, 10, 20, 20) croppedSize = (10, 10) for mode in "1", "P", "L", "RGB", "I", "F": # Internal copy method im = hopper(mode) out = im.copy() self.assertEqual(out.mode, im.mode) self.assertEqual(out.size, im.size) # Python's copy method im = hopper(mode) out = copy.copy(im) self.assertEqual(out.mode, im.mode) self.assertEqual(out.size, im.size) # Internal copy method on a cropped image im = hopper(mode) out = im.crop(croppedCoordinates).copy() self.assertEqual(out.mode, im.mode) self.assertEqual(out.size, croppedSize) # Python's copy method on a cropped image im = hopper(mode) out = copy.copy(im.crop(croppedCoordinates)) self.assertEqual(out.mode, im.mode) self.assertEqual(out.size, croppedSize) def test_copy_zero(self): im = Image.new('RGB', (0, 0)) out = im.copy() self.assertEqual(out.mode, im.mode) self.assertEqual(out.size, im.size) if __name__ == '__main__': unittest.main()