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'
Memory