Spaces:
Sleeping
Sleeping
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' | |