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 len(im.applist) == 2
assert im.info["comment"] == b"File written by Adobe Photoshop\xa8 4.0\x00" 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): def test_comment_write(self):
dummy_text = "this is a test comment"
with Image.open(TEST_FILE) as im: with Image.open(TEST_FILE) as im:
with BytesIO() as buf: assert im.info["comment"] == b"File written by Adobe Photoshop\xa8 4.0\x00"
im.save(buf, format="JPEG")
with Image.open(buf) as im2: # Test that existing comment is saved by default
assert im.app["COM"] == im2.app["COM"] out = BytesIO()
with BytesIO() as buf: im.save(out, format="JPEG")
im.save(buf, format="JPEG", comment=dummy_text) with Image.open(out) as reloaded:
with Image.open(buf) as im2: assert im.info["comment"] == reloaded.info["comment"]
assert im2.app["COM"].decode() == dummy_text
# 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): def test_cmyk(self):
# Test CMYK handling. Thanks to Tim and Charlie for test data, # Test CMYK handling. Thanks to Tim and Charlie for test data,