- fix Не собиралось само список всех приложений
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user