auto flake and corrections
This commit is contained in:
@@ -16,7 +16,7 @@ from pyWebLayout.layout.ereader_layout import (
|
||||
FontScaler,
|
||||
BidirectionalLayouter
|
||||
)
|
||||
from pyWebLayout.abstract.block import Paragraph, Heading, HeadingLevel, Table, HList
|
||||
from pyWebLayout.abstract.block import Paragraph, Heading, HeadingLevel
|
||||
from pyWebLayout.abstract.inline import Word
|
||||
from pyWebLayout.style import Font
|
||||
from pyWebLayout.style.page_style import PageStyle
|
||||
@@ -210,7 +210,7 @@ class TestRenderingPosition:
|
||||
|
||||
assert pos != "not a position"
|
||||
assert pos != 42
|
||||
assert pos != None
|
||||
assert pos is not None
|
||||
|
||||
def test_hashability(self):
|
||||
"""Test that RenderingPosition is hashable and can be used in sets/dicts."""
|
||||
@@ -594,7 +594,6 @@ class TestBidirectionalLayouter:
|
||||
# Larger font should estimate fewer blocks
|
||||
assert est_large.block_index >= est_normal.block_index
|
||||
|
||||
|
||||
def test_scale_block_fonts_paragraph(self, sample_font):
|
||||
"""Test scaling fonts in a paragraph block."""
|
||||
layouter = BidirectionalLayouter([], PageStyle())
|
||||
@@ -610,7 +609,12 @@ class TestBidirectionalLayouter:
|
||||
assert scaled != paragraph
|
||||
|
||||
# Check that words were scaled (words is a list, not a method)
|
||||
words = scaled.words if hasattr(scaled, 'words') and isinstance(scaled.words, list) else list(scaled.words_iter())
|
||||
words = scaled.words if hasattr(
|
||||
scaled,
|
||||
'words') and isinstance(
|
||||
scaled.words,
|
||||
list) else list(
|
||||
scaled.words_iter())
|
||||
assert len(words) >= 2
|
||||
|
||||
def test_scale_block_fonts_heading(self, sample_font):
|
||||
@@ -639,7 +643,8 @@ class TestBidirectionalLayouter:
|
||||
# Use a simple block (not Paragraph, Heading, Table, or HList)
|
||||
unknown_block = Block(BlockType.HORIZONTAL_RULE)
|
||||
|
||||
success, new_pos = layouter._layout_block_on_page(unknown_block, page, position, 1.0)
|
||||
success, new_pos = layouter._layout_block_on_page(
|
||||
unknown_block, page, position, 1.0)
|
||||
|
||||
# Should skip and move to next block
|
||||
assert success is True
|
||||
@@ -682,7 +687,10 @@ class TestBidirectionalLayouter:
|
||||
assert new_pos.block_index == 1
|
||||
assert new_pos.list_item_index == 0
|
||||
|
||||
def test_render_page_forward_simple(self, sample_blocks_with_headings, sample_page_style):
|
||||
def test_render_page_forward_simple(
|
||||
self,
|
||||
sample_blocks_with_headings,
|
||||
sample_page_style):
|
||||
"""Test forward page rendering with simple blocks."""
|
||||
layouter = BidirectionalLayouter(
|
||||
sample_blocks_with_headings,
|
||||
@@ -700,7 +708,8 @@ class TestBidirectionalLayouter:
|
||||
# Position should advance
|
||||
assert next_pos.block_index >= position.block_index
|
||||
|
||||
def test_render_page_forward_with_font_scale(self, sample_blocks_with_headings, sample_page_style):
|
||||
def test_render_page_forward_with_font_scale(
|
||||
self, sample_blocks_with_headings, sample_page_style):
|
||||
"""Test forward rendering with font scaling."""
|
||||
layouter = BidirectionalLayouter(
|
||||
sample_blocks_with_headings,
|
||||
@@ -720,7 +729,10 @@ class TestBidirectionalLayouter:
|
||||
assert page1 is not None
|
||||
assert page2 is not None
|
||||
|
||||
def test_render_page_forward_at_end(self, sample_blocks_with_headings, sample_page_style):
|
||||
def test_render_page_forward_at_end(
|
||||
self,
|
||||
sample_blocks_with_headings,
|
||||
sample_page_style):
|
||||
"""Test forward rendering at end of document."""
|
||||
layouter = BidirectionalLayouter(
|
||||
sample_blocks_with_headings,
|
||||
@@ -735,7 +747,8 @@ class TestBidirectionalLayouter:
|
||||
# Should still render a page
|
||||
assert page is not None
|
||||
|
||||
def test_render_page_forward_beyond_end(self, sample_blocks_with_headings, sample_page_style):
|
||||
def test_render_page_forward_beyond_end(
|
||||
self, sample_blocks_with_headings, sample_page_style):
|
||||
"""Test forward rendering beyond document end."""
|
||||
layouter = BidirectionalLayouter(
|
||||
sample_blocks_with_headings,
|
||||
@@ -750,7 +763,10 @@ class TestBidirectionalLayouter:
|
||||
# Should handle gracefully
|
||||
assert page is not None
|
||||
|
||||
def test_render_page_backward_simple(self, sample_blocks_with_headings, sample_page_style):
|
||||
def test_render_page_backward_simple(
|
||||
self,
|
||||
sample_blocks_with_headings,
|
||||
sample_page_style):
|
||||
"""Test backward page rendering."""
|
||||
layouter = BidirectionalLayouter(
|
||||
sample_blocks_with_headings,
|
||||
@@ -776,7 +792,8 @@ class TestBidirectionalLayouter:
|
||||
target_end = RenderingPosition(block_index=10)
|
||||
actual_end = RenderingPosition(block_index=12) # Overshot
|
||||
|
||||
adjusted = layouter._adjust_start_estimate(current_start, target_end, actual_end)
|
||||
adjusted = layouter._adjust_start_estimate(
|
||||
current_start, target_end, actual_end)
|
||||
|
||||
# Should move start forward (increase block_index)
|
||||
assert adjusted.block_index > current_start.block_index
|
||||
@@ -789,7 +806,8 @@ class TestBidirectionalLayouter:
|
||||
target_end = RenderingPosition(block_index=10)
|
||||
actual_end = RenderingPosition(block_index=8) # Undershot
|
||||
|
||||
adjusted = layouter._adjust_start_estimate(current_start, target_end, actual_end)
|
||||
adjusted = layouter._adjust_start_estimate(
|
||||
current_start, target_end, actual_end)
|
||||
|
||||
# Should move start backward (decrease block_index)
|
||||
assert adjusted.block_index <= current_start.block_index
|
||||
@@ -802,12 +820,14 @@ class TestBidirectionalLayouter:
|
||||
target_end = RenderingPosition(block_index=10)
|
||||
actual_end = RenderingPosition(block_index=10) # Exact
|
||||
|
||||
adjusted = layouter._adjust_start_estimate(current_start, target_end, actual_end)
|
||||
adjusted = layouter._adjust_start_estimate(
|
||||
current_start, target_end, actual_end)
|
||||
|
||||
# Should return same or similar position
|
||||
assert adjusted.block_index >= 0
|
||||
|
||||
def test_layout_paragraph_on_page_with_pretext(self, sample_font, sample_page_style):
|
||||
def test_layout_paragraph_on_page_with_pretext(
|
||||
self, sample_font, sample_page_style):
|
||||
"""Test paragraph layout with pretext (hyphenated word continuation)."""
|
||||
layouter = BidirectionalLayouter([], sample_page_style, page_size=(800, 600))
|
||||
|
||||
@@ -819,7 +839,8 @@ class TestBidirectionalLayouter:
|
||||
page = Page(size=(800, 600), style=sample_page_style)
|
||||
position = RenderingPosition(remaining_pretext="pre-")
|
||||
|
||||
success, new_pos = layouter._layout_paragraph_on_page(paragraph, page, position, 1.0)
|
||||
success, new_pos = layouter._layout_paragraph_on_page(
|
||||
paragraph, page, position, 1.0)
|
||||
|
||||
# Should attempt to layout
|
||||
assert isinstance(success, bool)
|
||||
@@ -838,7 +859,8 @@ class TestBidirectionalLayouter:
|
||||
page = Page(size=(800, 600), style=sample_page_style)
|
||||
position = RenderingPosition()
|
||||
|
||||
success, new_pos = layouter._layout_paragraph_on_page(paragraph, page, position, 1.0)
|
||||
success, new_pos = layouter._layout_paragraph_on_page(
|
||||
paragraph, page, position, 1.0)
|
||||
|
||||
# Should complete successfully
|
||||
assert isinstance(success, bool)
|
||||
@@ -856,7 +878,8 @@ class TestBidirectionalLayouter:
|
||||
page = Page(size=(800, 600), style=sample_page_style)
|
||||
position = RenderingPosition()
|
||||
|
||||
success, new_pos = layouter._layout_heading_on_page(heading, page, position, 1.0)
|
||||
success, new_pos = layouter._layout_heading_on_page(
|
||||
heading, page, position, 1.0)
|
||||
|
||||
# Should attempt to layout like a paragraph
|
||||
assert isinstance(success, bool)
|
||||
|
||||
Reference in New Issue
Block a user