0.4.1
Python application / build (push) Has been cancelled

- fix Не собиралось само список всех приложений
This commit is contained in:
Igor20264
2026-09-04 22:48:33 +03:00
parent b38661f588
commit 2ba6fe2673
3 changed files with 113 additions and 3 deletions
+38
View File
@@ -428,6 +428,44 @@ def test_appendix_item_becomes_h3_plus_title():
assert title_p._docx_paragraph.alignment == WD_ALIGN_PARAGRAPH.CENTER
def test_appendix_index_auto_inserted():
import docx
from md2gost.renderable.heading import Heading
from md2gost.renderer import Renderer
from md2gost.styles import apply_mirea_styles
doc = docx.Document(r"md2gost/Template.docx")
doc._body.clear_content()
apply_mirea_styles(doc)
renderer = Renderer(doc, skip_numbering=True)
sec = Heading(doc._body, 1, False)
sec.add_run("ПРИЛОЖЕНИЯ")
a = Heading(doc._body, 2, True)
a.add_run("Приложение А Графический материал")
b = Heading(doc._body, 2, True)
b.add_run("Приложение Б Листинг")
out = renderer._ensure_appendix_index([sec, a, b])
assert len(out) == 5 # sec + 2 index lines + a + b
assert out[0] is sec
t0 = out[1]._docx_paragraph.text
t1 = out[2]._docx_paragraph.text
assert t0.startswith("Приложение А")
assert "Графический материал" in t0
assert t1.startswith("Приложение Б")
assert "Листинг" in t1
assert out[3] is a
assert out[4] is b
# If list already present — do not duplicate
from md2gost.renderable.paragraph import Paragraph
manual = Paragraph(doc._body)
manual.add_run("Приложение А — вручную")
out2 = renderer._ensure_appendix_index([sec, manual, a, b])
assert out2 == [sec, manual, a, b]
def test_caption_table_keep_with_next_and_toc_styles():
import docx
from docx.enum.text import WD_ALIGN_PARAGRAPH, WD_LINE_SPACING