Skip to content

Commit cf3222c

Browse files
committed
ENH: tests: Add a little test for the FontDescriptor dataclass
This patch adds a little test for the FontDescriptor dataclass to make codecov happy!
1 parent 9534b2b commit cf3222c

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tests/test_font.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""Test font-related functionality."""
2+
3+
4+
from pypdf._font import FontDescriptor
5+
6+
7+
def test_font_descriptor():
8+
font_res = {"/BaseFont": "/Helvetica"}
9+
my_font = FontDescriptor.from_font_res(font_res)
10+
assert my_font.family == "Helvetica"
11+
assert my_font.weight == "Medium"
12+
assert my_font.ascent == 718
13+
assert my_font.descent == -207
14+
15+
test_string = "This is a long sentence. !@%%^€€€. çûįö¶´"
16+
charwidth = sum(my_font.character_widths[char] for char in test_string)
17+
assert charwidth == 19251
18+
19+
font_res = {"/BaseFont": "/Palatino"}
20+
my_font = FontDescriptor.from_font_res(font_res)
21+
assert my_font.weight == "Unknown"
22+
23+
font_res = {"/BaseFont": "/Courier-Bold"}
24+
my_font = FontDescriptor.from_font_res(font_res)
25+
assert my_font.italic_angle == 0
26+
assert my_font.flags == 64
27+
assert my_font.bbox == (-113.0, -250.0, 749.0, 801.0)

0 commit comments

Comments
 (0)