- fix Не появляется пустая странициа перед названием таблицы - fix Не появляется пустая страница перед альбомной ориентацией - fix При отказе от изменений создаётся новый файл - fix Замена "..." на «...» больше не затрагивает uml и mermaid блоки
This commit is contained in:
@@ -190,6 +190,27 @@ def test_preprocess_quotes():
|
||||
assert "«тест»" in preprocess_markdown('Он сказал "тест" вслух.')
|
||||
|
||||
|
||||
def test_preprocess_skips_uml_and_mermaid_fences():
|
||||
md = (
|
||||
'В тексте "кавычки".\n\n'
|
||||
"```uml\n"
|
||||
'rectangle "Акционеры" as own\n'
|
||||
"```\n\n"
|
||||
"```mermaid\n"
|
||||
'title "Выручка"\n'
|
||||
"```\n\n"
|
||||
"```uml-c4context\n"
|
||||
'Person(user, "Заявитель")\n'
|
||||
"```\n"
|
||||
)
|
||||
out = preprocess_markdown(md)
|
||||
assert "«кавычки»" in out
|
||||
assert 'rectangle "Акционеры" as own' in out
|
||||
assert 'title "Выручка"' in out
|
||||
assert 'Person(user, "Заявитель")' in out
|
||||
assert "«Акционеры»" not in out
|
||||
|
||||
|
||||
def test_formula_refs():
|
||||
assert find_formula_refs("см. @Формула:eq1 и далее") == {"eq1"}
|
||||
|
||||
@@ -466,6 +487,28 @@ def test_appendix_index_auto_inserted():
|
||||
assert out2 == [sec, manual, a, b]
|
||||
|
||||
|
||||
def test_table_caption_does_not_set_page_break_before():
|
||||
import os
|
||||
import docx
|
||||
from docx.shared import Mm
|
||||
from md2gost import package_dir
|
||||
from md2gost.styles import apply_mirea_styles
|
||||
from md2gost.layout_tracker import LayoutState
|
||||
from md2gost.renderable.caption import Caption, CaptionInfo
|
||||
|
||||
doc = docx.Document(os.path.join(package_dir(), "Template.docx"))
|
||||
apply_mirea_styles(doc)
|
||||
cap = Caption(doc._body, "Таблица", CaptionInfo("t1", "Реквизиты"), "1", True)
|
||||
state = LayoutState(Mm(250), Mm(160))
|
||||
state.add_height(Mm(248))
|
||||
leftover = state.remaining_page_height
|
||||
infos = list(cap.render(None, state))
|
||||
assert len(infos) == 1
|
||||
assert cap._docx_paragraph.style.name == "Название таблицы"
|
||||
assert cap._docx_paragraph.paragraph_format.page_break_before in (None, False)
|
||||
assert infos[0].height > leftover
|
||||
|
||||
|
||||
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