This commit is contained in:
2025-10-13 11:15:21 +02:00
parent 9a6543c530
commit 2519b55f08
24 changed files with 498 additions and 169 deletions

View File

@@ -0,0 +1,45 @@
"""Unit tests for font sizing UI helpers."""
from types import SimpleNamespace
import importlib
import pytest
@pytest.fixture
def font_helpers_module():
"""Import the font helper utilities."""
return importlib.import_module("src.ui.font_helpers")
def test_font_size_ui_state_manual_when_fitting_disabled(monkeypatch, font_helpers_module):
"""Manual font size should remain enabled when fitting is off."""
monkeypatch.setattr(font_helpers_module, "has_text_fitting", lambda: True)
props = SimpleNamespace(enable_text_fitting=False, text_fitting_mode="FIT_CONTAIN")
enabled, message = font_helpers_module.font_size_ui_state(props)
assert enabled is True
assert message == ""
def test_font_size_ui_state_auto_when_fitting_enabled(monkeypatch, font_helpers_module):
"""Font size control shows auto-sizing message when fitting is active."""
monkeypatch.setattr(font_helpers_module, "has_text_fitting", lambda: True)
props = SimpleNamespace(enable_text_fitting=True, text_fitting_mode="FIT_WIDTH")
enabled, message = font_helpers_module.font_size_ui_state(props)
assert enabled is False
assert "Fit Width" in message
def test_font_size_ui_state_without_text_fitting_feature(monkeypatch, font_helpers_module):
"""Without text fitting support, manual font sizing stays enabled."""
monkeypatch.setattr(font_helpers_module, "has_text_fitting", lambda: False)
props = SimpleNamespace(enable_text_fitting=True, text_fitting_mode="FIT_WIDTH")
enabled, message = font_helpers_module.font_size_ui_state(props)
assert enabled is True
assert message == ""