When no margin detected, reserve a bit more space for comments

This commit is contained in:
sebastien committed 2026-10-13 21:23:48 +02:00
1 parent e7094d850e
commit 78a7b7679c
17 files changed
+357 -28

No files matched your search

+18
View File
@@ -9,11 +9,29 @@ import pymupdf
from copienator import CliError, EvaluationWorkspace, atomic_write_json, read_json
from copienator.commands import correction, resolve_manual
from copienator.answer_origins import origins_for, save_origins
from copienator.annotation_layout import save_parts, answer_parts, layout_for, page_parts
from copienator.annotation_data import load_annotation_data
from copienator_gui.app import has_manual_conflicts
class ManualResolutionStateTests(unittest.TestCase):
def test_merge_preserves_low_margin_and_page_order(self):
for pipe_first in (False, True):
with self.subTest(pipe_first=pipe_first), tempfile.TemporaryDirectory() as temporary:
workspace = self.fixture(Path(temporary), '->')
workspace.manual_resolutions_file.write_text(
'Copie01 A -> |B\n' if pipe_first else 'Copie01 A -> B|\n')
copies = workspace.copies_dir / 'Copie01'
for label, status in (('A', 'low'), ('B', 'normal')):
pdf = copies / f'{label}.pdf'
save_parts(pdf, [{'margin_status': status} for _ in page_parts(pdf)])
resolve_manual.resolve_manual(workspace)
target = resolve_manual.get_actual_pdf(workspace.copies_dir, '01', 'B')
self.assertEqual(layout_for(target)['margin_left'], 400)
statuses = [part['margin_status'] for part in answer_parts(target)]
self.assertEqual(statuses[0], 'low' if pipe_first else 'normal')
self.assertEqual(statuses[-1], 'normal' if pipe_first else 'low')
def test_automatic_additional_content_records_origin_but_wrong_label_does_not(self):
for kind in ("additional-answer", "wrong-label"):
with self.subTest(kind=kind), tempfile.TemporaryDirectory() as temporary: