added pytest, moved dependencies

dpi-font-auto-calc
di1ara 2025-12-08 15:29:56 -05:00
parent 4b6bd55df4
commit ee45b46638
1 changed files with 25 additions and 9 deletions

View File

@ -1,18 +1,34 @@
from PyQt6 import QtGui
import pytest
from piker.ui._style import DpiAwareFont
class MockScreen:
def __init__(self, pdpi, ldpi, name="MockScreen"):
self._pdpi = pdpi
self._ldpi = ldpi
self._name = name
def physicalDotsPerInch(self):
return 169 # example HiDPI
return self._pdpi
def logicalDotsPerInch(self):
return 96
return self._ldpi
def name(self):
return "MockScreen"
return self._name
# create font instance
@pytest.mark.parametrize(
"pdpi, ldpi",
[
(96, 96), # normal DPI
(169, 96), # HiDPI
(120, 96), # mid-DPI
]
)
def test_font_px_size(pdpi, ldpi):
font = DpiAwareFont()
font.configure_to_dpi(screen=MockScreen(pdpi, ldpi))
# pass the mock screen to configure_to_dpi
font.configure_to_dpi(screen=MockScreen())
px = font.px_size
print(f"{pdpi}x{ldpi} DPI -> Computed pixel size: {px}")
print("Computed pixel size:", font.px_size)
assert 12 <= px <= 24