refinements
Python CI / test (3.12) (push) Successful in 8m32s
Python CI / test (3.13) (push) Successful in 22m59s

This commit is contained in:
2025-11-09 21:17:57 +01:00
parent a552eb0951
commit 0f9e38eb7c
6 changed files with 41 additions and 610 deletions
+18 -7
View File
@@ -29,12 +29,18 @@ class TestSettingsOverlay(unittest.TestCase):
self.reader = EbookReader(page_size=(800, 1200))
# Load a test EPUB - use any available EPUB in test data
# Load a test EPUB - use a larger EPUB for spacing tests
epub_dir = Path(__file__).parent / 'data' / 'library-epub'
epubs = list(epub_dir.glob('*.epub'))
if not epubs:
self.skipTest("No test EPUB files available")
# Prefer larger EPUBs for better testing of spacing changes
# Skip minimal-test.epub as it has too little content
epubs = [e for e in epubs if 'minimal' not in e.name]
if not epubs:
epubs = list(epub_dir.glob('*.epub'))
test_epub = epubs[0]
# Debug logging
@@ -175,9 +181,12 @@ class TestSettingsOverlay(unittest.TestCase):
self.reader.open_settings_overlay()
initial_font_scale = self.reader.base_font_scale
# Get overlay reader to query button positions
overlay_manager = self.reader.overlay_manager
overlay_reader = overlay_manager._overlay_reader
# Get overlay reader to query button positions from the active overlay sub-application
overlay_subapp = self.reader._active_overlay
if not overlay_subapp:
self.skipTest("No active overlay sub-application")
overlay_reader = overlay_subapp._overlay_reader
if not overlay_reader or not overlay_reader.manager:
self.skipTest("Overlay reader not available for querying")
@@ -302,15 +311,17 @@ class TestSettingsOverlay(unittest.TestCase):
# Open overlay
self.reader.open_settings_overlay()
# Access refresh method through overlay manager
overlay_manager = self.reader.overlay_manager
# Access refresh method through active overlay sub-application
overlay_subapp = self.reader._active_overlay
if not overlay_subapp:
self.skipTest("No active overlay sub-application")
# Change a setting programmatically
self.reader.increase_font_size()
new_page = self.reader.get_current_page(include_highlights=False)
# Refresh overlay
refreshed_image = overlay_manager.refresh_settings_overlay(
refreshed_image = overlay_subapp.refresh(
updated_base_page=new_page,
font_scale=self.reader.base_font_scale,
line_spacing=self.reader.page_style.line_spacing,