From 57d0a5a7aee259794f4097dd98cb66231f9b6213 Mon Sep 17 00:00:00 2001 From: Travis Abendshien Date: Sun, 13 Oct 2024 15:57:13 -0700 Subject: [PATCH] tests: add test comparing ods to png snapshot --- tagstudio/tests/fixtures/sample.ods | Bin 0 -> 11271 bytes .../test_thumb_renderer/test_ods_preview.png | Bin 0 -> 5956 bytes tagstudio/tests/qt/test_thumb_renderer.py | 11 +++++++++++ 3 files changed, 11 insertions(+) create mode 100644 tagstudio/tests/fixtures/sample.ods create mode 100644 tagstudio/tests/qt/__snapshots__/test_thumb_renderer/test_ods_preview.png diff --git a/tagstudio/tests/fixtures/sample.ods b/tagstudio/tests/fixtures/sample.ods new file mode 100644 index 0000000000000000000000000000000000000000..ecc97b12f1e657c49f75b3b384e901f9dd83e7bc GIT binary patch literal 11271 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 literal 0 HcmV?d00001 diff --git a/tagstudio/tests/qt/__snapshots__/test_thumb_renderer/test_ods_preview.png b/tagstudio/tests/qt/__snapshots__/test_thumb_renderer/test_ods_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..5e749f2d3f9bd8b7a65b281e765d54725c9775e1 GIT binary patch literal 5956 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 literal 0 HcmV?d00001 diff --git a/tagstudio/tests/qt/test_thumb_renderer.py b/tagstudio/tests/qt/test_thumb_renderer.py index 5a4bca60..6ea2c9ca 100644 --- a/tagstudio/tests/qt/test_thumb_renderer.py +++ b/tagstudio/tests/qt/test_thumb_renderer.py @@ -19,3 +19,14 @@ def test_odt_preview(cwd, snapshot): img.save(img_bytes, format="PNG") img_bytes.seek(0) assert img_bytes.read() == snapshot(extension_class=PNGImageSnapshotExtension) + + +def test_ods_preview(cwd, snapshot): + file_path: Path = cwd / "fixtures" / "sample.ods" + renderer = ThumbRenderer() + img: Image.Image = renderer._open_doc_thumb(file_path) + + img_bytes = io.BytesIO() + img.save(img_bytes, format="PNG") + img_bytes.seek(0) + assert img_bytes.read() == snapshot(extension_class=PNGImageSnapshotExtension)