font
This commit is contained in:
45
tests/unit/ui/test_font_ui_helpers.py
Normal file
45
tests/unit/ui/test_font_ui_helpers.py
Normal 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 == ""
|
||||
Reference in New Issue
Block a user