mirror of
https://github.com/zulip/zulip.git
synced 2026-07-06 21:18:58 +08:00
tests: Refactor tests of resizing animated images.
This commit is contained in:
parent
d17006da55
commit
fc793c10fa
@ -1303,46 +1303,30 @@ class EmojiTest(UploadSerializeMixin, ZulipTestCase):
|
||||
with self.assertRaises(BadImageError):
|
||||
resize_emoji(corrupted_img_data)
|
||||
|
||||
# Test an image larger than max is resized
|
||||
animated_large_img_data = read_test_image_file("animated_large_img.gif")
|
||||
with patch("zerver.lib.upload.MAX_EMOJI_GIF_SIZE", 128):
|
||||
animated_large_img_data = read_test_image_file(f"animated_large_img.gif")
|
||||
|
||||
def test_resize(size: int = 50) -> None:
|
||||
resized_img_data, is_animated, still_img_data = resize_emoji(
|
||||
animated_large_img_data, size=50
|
||||
)
|
||||
im = Image.open(io.BytesIO(resized_img_data))
|
||||
self.assertEqual((50, 50), im.size)
|
||||
self.assertEqual((size, size), im.size)
|
||||
self.assertTrue(is_animated)
|
||||
assert still_img_data
|
||||
still_image = Image.open(io.BytesIO(still_img_data))
|
||||
self.assertEqual((50, 50), still_image.size)
|
||||
|
||||
# Test an image larger than max is resized
|
||||
with patch("zerver.lib.upload.MAX_EMOJI_GIF_SIZE", 128):
|
||||
test_resize()
|
||||
|
||||
# Test an image file larger than max is resized
|
||||
animated_large_img_data = read_test_image_file("animated_large_img.gif")
|
||||
with patch("zerver.lib.upload.MAX_EMOJI_GIF_FILE_SIZE_BYTES", 3 * 1024 * 1024):
|
||||
resized_img_data, is_animated, still_img_data = resize_emoji(
|
||||
animated_large_img_data, size=50
|
||||
)
|
||||
im = Image.open(io.BytesIO(resized_img_data))
|
||||
self.assertEqual((50, 50), im.size)
|
||||
self.assertTrue(is_animated)
|
||||
assert still_img_data is not None
|
||||
still_image = Image.open(io.BytesIO(still_img_data))
|
||||
self.assertEqual((50, 50), still_image.size)
|
||||
test_resize()
|
||||
|
||||
# Test an image smaller than max and smaller than file size max is not resized
|
||||
animated_large_img_data = read_test_image_file("animated_large_img.gif")
|
||||
with patch("zerver.lib.upload.MAX_EMOJI_GIF_SIZE", 512):
|
||||
resized_img_data, is_animated, still_img_data = resize_emoji(
|
||||
animated_large_img_data, size=50
|
||||
)
|
||||
im = Image.open(io.BytesIO(resized_img_data))
|
||||
self.assertEqual((256, 256), im.size)
|
||||
self.assertTrue(is_animated)
|
||||
|
||||
# We unconditionally resize the still_image
|
||||
assert still_img_data is not None
|
||||
still_image = Image.open(io.BytesIO(still_img_data))
|
||||
self.assertEqual((50, 50), still_image.size)
|
||||
test_resize(size=256)
|
||||
|
||||
# Test a non-animated image which does need to be resized
|
||||
still_large_img_data = read_test_image_file("still_large_img.gif")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user