Handle missing verbatim arguments and empty LaTeX matrices

This commit is contained in:
Andras Schmelczer 2026-10-27 20:05:37 +00:00
commit 3dfaed5041

View file

@ -1,6 +1,8 @@
from pathlib import Path
import pytest
from great_ai.utilities.external.pylatexenc.latex2text import LatexNodes2Text
from great_ai.utilities.external.pylatexenc.latexwalker import LatexWalkerParseError
def test_strict_input_checks_path_ancestry(tmp_path: Path) -> None:
@ -16,3 +18,15 @@ def test_strict_input_checks_path_ancestry(tmp_path: Path) -> None:
assert converter.latex_to_text(r"\input{inside}") == "inside"
assert converter.latex_to_text(r"\input{../allowed_neighbor/outside}") == ""
assert converter.latex_to_text(r"\input{link}") == ""
@pytest.mark.parametrize("text", [r"\verb", "\\verb "])
def test_missing_verbatim_arguments_use_normal_parse_errors(text: str) -> None:
converter = LatexNodes2Text()
with pytest.raises(LatexWalkerParseError):
converter.latex_to_text(text, tolerant_parsing=False)
assert converter.latex_to_text(text, tolerant_parsing=True) == ""
def test_empty_matrix_has_a_text_representation() -> None:
assert LatexNodes2Text().latex_to_text(r"\begin{pmatrix}\end{pmatrix}") == "[ ]"