From 0e17f5047f42853a180288b0bb6aa579faf999bf Mon Sep 17 00:00:00 2001 From: "Jorj X. McKie" Date: Thu, 21 May 2026 08:09:01 -0400 Subject: [PATCH] Testing markdown support Tests: * Support of Archive in Document creation * Support of external / internal links --- tests/test_markdown_support.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/test_markdown_support.py diff --git a/tests/test_markdown_support.py b/tests/test_markdown_support.py new file mode 100644 index 000000000..4e4b8cbf3 --- /dev/null +++ b/tests/test_markdown_support.py @@ -0,0 +1,34 @@ +import pymupdf +import os + + +def test_archive_markdown(): + """Test Archive support.""" + path = os.path.abspath(f"{__file__}/../../tests/resources") + md = b"![](nur-ruhig.jpg)\n\n**A referenced image.**" + md_doc = pymupdf.open(stream=md, filetype="md", archive=path) + pdfdata = md_doc.convert_to_pdf() + doc = pymupdf.open(stream=pdfdata) + page = doc[0] + images = page.get_image_info() + assert len(images) == 1 + +def test_archive_links(): + """Create an internal and an external link and confirm + that they are correctly converted to PDF links.""" + md = """Some text containing an external [link](http://www.google.com) to Google. + Now an internal link to a header in this document: [Some Header](#some-header). The header is here: + +

Some Header

+ + Some text following the header. + """ + md_doc = pymupdf.open(stream=md.encode(), filetype="md") + pdfdata = md_doc.convert_to_pdf() + doc = pymupdf.open(stream=pdfdata) + page = doc[0] + links=page.get_links() + assert len(links) == 2 + assert links[0]["uri"] == "http://www.google.com" + assert links[0]["kind"] == pymupdf.LINK_URI + assert links[1]["kind"] == pymupdf.LINK_GOTO