from helper import unittest, PillowTestCase, hopper from PIL import Image class TestImageGetBbox(PillowTestCase): def test_sanity(self): bbox = hopper().getbbox() self.assertIsInstance(bbox, tuple) def test_bbox(self): # 8-bit mode im = Image.new("L", (100, 100), 0) self.assertEqual(im.getbbox(), None) im.paste(255, (10, 25, 90, 75)) self.assertEqual(im.getbbox(), (10, 25, 90, 75)) im.paste(255, (25, 10, 75, 90)) self.assertEqual(im.getbbox(), (10, 10, 90, 90)) im.paste(255, (-10, -10, 110, 110)) self.assertEqual(im.getbbox(), (0, 0, 100, 100)) # 32-bit mode im = Image.new("RGB", (100, 100), 0) self.assertEqual(im.getbbox(), None) im.paste(255, (10, 25, 90, 75)) self.assertEqual(im.getbbox(), (10, 25, 90, 75)) im.paste(255, (25, 10, 75, 90)) self.assertEqual(im.getbbox(), (10, 10, 90, 90)) im.paste(255, (-10, -10, 110, 110)) self.assertEqual(im.getbbox(), (0, 0, 100, 100)) if __name__ == '__main__': unittest.main()