Mercurial > hgrepos > Python2 > PyMuPDF
diff tests/test_cluster_drawings.py @ 1:1d09e1dec1d9 upstream
ADD: PyMuPDF v1.26.4: the original sdist.
It does not yet contain MuPDF. This normally will be downloaded when
building PyMuPDF.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:37:51 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_cluster_drawings.py Mon Sep 15 11:37:51 2025 +0200 @@ -0,0 +1,47 @@ +import os +import pymupdf + +scriptdir = os.path.dirname(__file__) + + +def test_cluster1(): + """Confirm correct identification of known examples.""" + if not hasattr(pymupdf, "mupdf"): + print("Not executing 'test_cluster1' in classic") + return + filename = os.path.join(scriptdir, "resources", "symbol-list.pdf") + doc = pymupdf.open(filename) + page = doc[0] + assert len(page.cluster_drawings()) == 10 + filename = os.path.join(scriptdir, "resources", "chinese-tables.pdf") + doc = pymupdf.open(filename) + page = doc[0] + assert len(page.cluster_drawings()) == 2 + + +def test_cluster2(): + """Join disjoint but neighbored drawings.""" + if not hasattr(pymupdf, "mupdf"): + print("Not executing 'test_cluster2' in classic") + return + doc = pymupdf.open() + page = doc.new_page() + r1 = pymupdf.Rect(100, 100, 200, 200) + r2 = pymupdf.Rect(203, 203, 400, 400) + page.draw_rect(r1) + page.draw_rect(r2) + assert page.cluster_drawings() == [r1 | r2] + + +def test_cluster3(): + """Confirm as separate if neighborhood threshold exceeded.""" + if not hasattr(pymupdf, "mupdf"): + print("Not executing 'test_cluster3' in classic") + return + doc = pymupdf.open() + page = doc.new_page() + r1 = pymupdf.Rect(100, 100, 200, 200) + r2 = pymupdf.Rect(204, 200, 400, 400) + page.draw_rect(r1) + page.draw_rect(r2) + assert page.cluster_drawings() == [r1, r2]
