From f2fe807b8b10d1fde547b95cd0e1ae6c670cfacb Mon Sep 17 00:00:00 2001 From: Tolker-KU <55140581+Tolker-KU@users.noreply.github.com> Date: Tue, 25 Jul 2023 13:25:58 +0200 Subject: [PATCH] Rebase tests with new fonttools (#863) --- test/encryption/encrypt_fonts.pdf | Bin 20941 -> 20944 bytes test/encryption/test_encryption.py | 7 +++++++ ...rmap_first_999_chars-Quicksand-Regular.pdf | Bin 26919 -> 26917 bytes ..._font_with_overriden_get_fallback_font.pdf | Bin 35353 -> 35355 bytes test/fonts/fonts_otf.pdf | Bin 20545 -> 20548 bytes test/fonts/test_add_font.py | 5 +++++ test/fonts/test_charmap.py | 5 +++++ test/fonts/test_font_fallback.py | 5 +++++ 8 files changed, 22 insertions(+) diff --git a/test/encryption/encrypt_fonts.pdf b/test/encryption/encrypt_fonts.pdf index 6ce74643a98ec36cf3b1791d73c1f6c088f9503a..c84a535076fc2d05d9b8f50d0a1878cf5a6fd635 100644 GIT binary patch delta 13528 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 delta 13482 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ξy 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 diff --git a/test/encryption/test_encryption.py b/test/encryption/test_encryption.py index 3b8089b26..81eeeab95 100644 --- a/test/encryption/test_encryption.py +++ b/test/encryption/test_encryption.py @@ -1,5 +1,8 @@ # pylint: disable=protected-access from pathlib import Path +import sys + +import pytest from fpdf import FPDF from fpdf.enums import AccessPermission, EncryptionMethod @@ -152,6 +155,10 @@ def custom_file_id(): assert_pdf_equal(pdf, HERE / "encrypt_metadata.pdf", tmp_path) +@pytest.mark.skipif( + sys.version_info < (3, 8), + reason="fontTools dropped support for 3.7. https://github.com/PyFPDF/fpdf2/pull/863", +) def test_encrypt_font(tmp_path): pdf = FPDF() pdf.add_page() diff --git a/test/fonts/charmap_first_999_chars-Quicksand-Regular.pdf b/test/fonts/charmap_first_999_chars-Quicksand-Regular.pdf index d83d0734172e0b5d4dd4c1e76f237d7ddd43cb71..b29198e382ded3b1a84e5c26e6c419b286d458ac 100644 GIT binary patch delta 16723 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 P%#2KoxKveL{oS|#X1b8b delta 16725 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 diff --git a/test/fonts/fallback_font_with_overriden_get_fallback_font.pdf b/test/fonts/fallback_font_with_overriden_get_fallback_font.pdf index 27bcab274782b52eb668080329fee84b36ffa138..47f8991296729076fc74a21ecacc6eb8784c2606 100644 GIT binary patch delta 4000 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 diff --git a/test/fonts/fonts_otf.pdf b/test/fonts/fonts_otf.pdf index 2c881e8b3400be8e415aa1b78bf846edcab4e58f..3ebb698706e5b50c1bb7243698926d5318614146 100644 GIT binary patch delta 13592 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 Vvza*@%YWX$21h|5t|$TbKLCoewQ&Fd delta 13616 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 diff --git a/test/fonts/test_add_font.py b/test/fonts/test_add_font.py index 6cdf79ef9..5829d9e81 100644 --- a/test/fonts/test_add_font.py +++ b/test/fonts/test_add_font.py @@ -1,5 +1,6 @@ from os import devnull from pathlib import Path +import sys import pytest @@ -92,6 +93,10 @@ def test_render_en_dash(tmp_path): # issue-166 assert_pdf_equal(pdf, HERE / "render_en_dash.pdf", tmp_path) +@pytest.mark.skipif( + sys.version_info < (3, 8), + reason="fontTools dropped support for 3.7. https://github.com/PyFPDF/fpdf2/pull/863", +) def test_add_font_otf(tmp_path): pdf = FPDF() pdf.add_page() diff --git a/test/fonts/test_charmap.py b/test/fonts/test_charmap.py index 53bc7051f..e9b3bc1b8 100644 --- a/test/fonts/test_charmap.py +++ b/test/fonts/test_charmap.py @@ -11,6 +11,7 @@ """ import logging from pathlib import Path +import sys from fontTools.ttLib import TTFont import pytest @@ -21,6 +22,10 @@ HERE = Path(__file__).resolve().parent +@pytest.mark.skipif( + sys.version_info < (3, 8), + reason="fontTools dropped support for 3.7. https://github.com/PyFPDF/fpdf2/pull/863", +) @pytest.mark.parametrize( "font_filename", [ diff --git a/test/fonts/test_font_fallback.py b/test/fonts/test_font_fallback.py index e7b48e0f0..1191c2b06 100644 --- a/test/fonts/test_font_fallback.py +++ b/test/fonts/test_font_fallback.py @@ -2,6 +2,7 @@ from os import devnull from pathlib import Path +import sys from fpdf import FPDF from fpdf.enums import XPos, YPos @@ -124,6 +125,10 @@ def test_fallback_font_ignore_style(tmp_path): ) +@pytest.mark.skipif( + sys.version_info < (3, 8), + reason="fontTools dropped support for 3.7. https://github.com/PyFPDF/fpdf2/pull/863", +) def test_fallback_font_with_overriden_get_fallback_font(tmp_path): class PDF(FPDF): def get_fallback_font(self, char, style=""):