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