From ee45b46638af8b48f550dc375275d7929f5de806 Mon Sep 17 00:00:00 2001 From: di1ara Date: Mon, 8 Dec 2025 15:29:56 -0500 Subject: [PATCH] added pytest, moved dependencies --- tests/test_dpi_font.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/tests/test_dpi_font.py b/tests/test_dpi_font.py index 04decfcf..42e4caa7 100644 --- a/tests/test_dpi_font.py +++ b/tests/test_dpi_font.py @@ -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 -font = DpiAwareFont() +@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