Traktor/myenv/Lib/site-packages/sympy/utilities/tests/test_mathml.py

34 lines
836 B
Python
Raw Normal View History

2024-05-26 05:12:46 +02:00
import os
from textwrap import dedent
from sympy.external import import_module
from sympy.testing.pytest import skip
from sympy.utilities.mathml import apply_xsl
lxml = import_module('lxml')
path = os.path.abspath(os.path.join(os.path.dirname(__file__), "test_xxe.py"))
def test_xxe():
assert os.path.isfile(path)
if not lxml:
skip("lxml not installed.")
mml = dedent(
rf"""
<!--?xml version="1.0" ?-->
<!DOCTYPE replace [<!ENTITY ent SYSTEM "file://{path}"> ]>
<userInfo>
<firstName>John</firstName>
<lastName>&ent;</lastName>
</userInfo>
"""
)
xsl = 'mathml/data/simple_mmlctop.xsl'
res = apply_xsl(mml, xsl)
assert res == \
'<?xml version="1.0"?>\n<userInfo>\n<firstName>John</firstName>\n<lastName/>\n</userInfo>\n'