Test that comment is reread

This commit is contained in:
Andrew Murray 2022-12-03 09:59:22 +11:00
parent c1d0a00943
commit 525c01143a

View File

@ -86,18 +86,26 @@ class TestFileJpeg:
assert len(im.applist) == 2
assert im.info["comment"] == b"File written by Adobe Photoshop\xa8 4.0\x00"
assert im.app["COM"] == im.info["comment"]
def test_com_write(self):
dummy_text = "this is a test comment"
def test_comment_write(self):
with Image.open(TEST_FILE) as im:
with BytesIO() as buf:
im.save(buf, format="JPEG")
with Image.open(buf) as im2:
assert im.app["COM"] == im2.app["COM"]
with BytesIO() as buf:
im.save(buf, format="JPEG", comment=dummy_text)
with Image.open(buf) as im2:
assert im2.app["COM"].decode() == dummy_text
assert im.info["comment"] == b"File written by Adobe Photoshop\xa8 4.0\x00"
# Test that existing comment is saved by default
out = BytesIO()
im.save(out, format="JPEG")
with Image.open(out) as reloaded:
assert im.info["comment"] == reloaded.info["comment"]
# Test that a comment argument overrides the default comment
for comment in ("Test comment text", b"Text comment text"):
out = BytesIO()
im.save(out, format="JPEG", comment=comment)
with Image.open(out) as reloaded:
if not isinstance(comment, bytes):
comment = comment.encode()
assert reloaded.info["comment"] == comment
def test_cmyk(self):
# Test CMYK handling. Thanks to Tim and Charlie for test data,