From 9db9a3d6ec7674ab7d6146bfb91f1dff3bb2f230 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Wed, 7 Apr 2021 23:26:37 -0700 Subject: [PATCH] helpers: improve test coverage of Resolution --- src/ocrmypdf/helpers.py | 6 ++++-- tests/test_helpers.py | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/ocrmypdf/helpers.py b/src/ocrmypdf/helpers.py index 538ecec9..1dae1f31 100644 --- a/src/ocrmypdf/helpers.py +++ b/src/ocrmypdf/helpers.py @@ -54,7 +54,7 @@ class Resolution(namedtuple('Resolution', ('x', 'y'))): def __str__(self): return f"{self.x:f}x{self.y:f}" - def __repr__(self): + def __repr__(self): # pragma: no cover return f"Resolution({self.x}x{self.y} dpi)" @@ -200,7 +200,9 @@ def check_pdf(input_file: Path) -> bool: pdf.check_linearization(sio) except RuntimeError: pass - except ( # Workaround for a problematic pikepdf version + except ( + # Workaround for a problematic pikepdf version + # pragma: no cover getattr(pikepdf, 'ForeignObjectError') if pikepdf.__version__ == '2.1.0' else NeverRaise diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 3a6c0b5a..5af7f610 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -117,3 +117,14 @@ def test_shim_paths(tmp_path): assert results[-3].endswith('tesseract-ocr'), results assert results[-2].endswith(os.path.join('gs', '9.52', 'bin')), results assert results[-1].endswith(os.path.join('gs', '9.51', 'bin')), results + + +def test_resolution(): + Resolution = helpers.Resolution + dpi_100 = Resolution(100, 100) + dpi_200 = Resolution(200, 200) + assert dpi_100.is_square + assert not Resolution(100, 200).is_square + assert dpi_100 == Resolution(100, 100) + assert str(dpi_100) != str(dpi_200) + assert dpi_100.take_max([200, 300], [400]) == Resolution(300, 400)