1717from sphinx_pytest .plugin import CreateDoctree
1818
1919from myst_parser .mdit_to_docutils .sphinx_ import SphinxRenderer
20+ from tests .conftest import normalize_doctree_xml
2021
2122FIXTURE_PATH = Path (__file__ ).parent .joinpath ("fixtures" )
2223
@@ -36,7 +37,7 @@ def _apply_transforms(self):
3637 monkeypatch .setattr (SphinxTransformer , "apply_transforms" , _apply_transforms )
3738
3839 result = sphinx_doctree (file_params .content , "index.md" )
39- pformat = result .pformat ("index" )
40+ pformat = normalize_doctree_xml ( result .pformat ("index" ) )
4041 replacements = {
4142 # changed in docutils 0.20.1
4243 '<literal classes="code" language="">' : '<literal classes="code">' ,
@@ -58,7 +59,7 @@ def test_link_resolution(file_params: ParamTestData, sphinx_doctree: CreateDoctr
5859 sphinx_doctree .srcdir .joinpath ("test.txt" ).touch ()
5960 sphinx_doctree .srcdir .joinpath ("other.rst" ).write_text (":orphan:\n \n Test\n ====" )
6061 result = sphinx_doctree (file_params .content , "index.md" )
61- outcome = result .pformat ("index" )
62+ outcome = normalize_doctree_xml ( result .pformat ("index" ) )
6263 if result .warnings .strip ():
6364 outcome += "\n \n " + result .warnings .strip ()
6465 file_params .assert_expected (outcome , rstrip_lines = True )
@@ -80,7 +81,9 @@ def settings_from_json(string: str | None):
8081def test_tables (file_params : ParamTestData , sphinx_doctree_no_tr : CreateDoctree ):
8182 sphinx_doctree_no_tr .set_conf ({"extensions" : ["myst_parser" ]})
8283 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
83- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
84+ file_params .assert_expected (
85+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
86+ )
8487
8588
8689@pytest .mark .param_file (FIXTURE_PATH / "directive_options.md" )
@@ -89,7 +92,9 @@ def test_directive_options(
8992):
9093 sphinx_doctree_no_tr .set_conf ({"extensions" : ["myst_parser" ]})
9194 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
92- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
95+ file_params .assert_expected (
96+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
97+ )
9398
9499
95100@pytest .mark .param_file (FIXTURE_PATH / "sphinx_directives.md" )
@@ -102,7 +107,9 @@ def test_sphinx_directives(
102107 pytest .skip (file_params .title )
103108
104109 sphinx_doctree_no_tr .set_conf ({"extensions" : ["myst_parser" ]})
105- pformat = sphinx_doctree_no_tr (file_params .content , "index.md" ).pformat ("index" )
110+ pformat = normalize_doctree_xml (
111+ sphinx_doctree_no_tr (file_params .content , "index.md" ).pformat ("index" )
112+ )
106113 # see https://github.com/executablebooks/MyST-Parser/issues/522
107114 if sys .maxsize == 2147483647 :
108115 pformat = pformat .replace ('"2147483647"' , '"9223372036854775807"' )
@@ -115,7 +122,9 @@ def test_sphinx_roles(file_params: ParamTestData, sphinx_doctree_no_tr: CreateDo
115122 pytest .skip (file_params .title )
116123
117124 sphinx_doctree_no_tr .set_conf ({"extensions" : ["myst_parser" ]})
118- pformat = sphinx_doctree_no_tr (file_params .content , "index.md" ).pformat ("index" )
125+ pformat = normalize_doctree_xml (
126+ sphinx_doctree_no_tr (file_params .content , "index.md" ).pformat ("index" )
127+ )
119128 # sphinx 3 adds a parent key
120129 pformat = re .sub ('cpp:parent_key="[^"]*"' , 'cpp:parent_key=""' , pformat )
121130 # sphinx >= 4.5.0 adds a trailing slash to PEP URLs,
@@ -136,7 +145,9 @@ def test_dollarmath(file_params: ParamTestData, sphinx_doctree_no_tr: CreateDoct
136145 {"extensions" : ["myst_parser" ], "myst_enable_extensions" : ["dollarmath" ]}
137146 )
138147 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
139- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
148+ file_params .assert_expected (
149+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
150+ )
140151
141152
142153@pytest .mark .param_file (FIXTURE_PATH / "amsmath.md" )
@@ -148,7 +159,9 @@ def test_amsmath(
148159 {"extensions" : ["myst_parser" ], "myst_enable_extensions" : ["amsmath" ]}
149160 )
150161 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
151- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
162+ file_params .assert_expected (
163+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
164+ )
152165
153166
154167@pytest .mark .param_file (FIXTURE_PATH / "containers.md" )
@@ -160,7 +173,9 @@ def test_containers(
160173 {"extensions" : ["myst_parser" ], "myst_enable_extensions" : ["colon_fence" ]}
161174 )
162175 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
163- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
176+ file_params .assert_expected (
177+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
178+ )
164179
165180
166181@pytest .mark .param_file (FIXTURE_PATH / "eval_rst.md" )
@@ -169,7 +184,9 @@ def test_evalrst_elements(
169184):
170185 sphinx_doctree_no_tr .set_conf ({"extensions" : ["myst_parser" ]})
171186 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
172- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
187+ file_params .assert_expected (
188+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
189+ )
173190
174191
175192@pytest .mark .param_file (FIXTURE_PATH / "definition_lists.md" )
@@ -180,7 +197,9 @@ def test_definition_lists(
180197 {"extensions" : ["myst_parser" ], "myst_enable_extensions" : ["deflist" ]}
181198 )
182199 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
183- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
200+ file_params .assert_expected (
201+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
202+ )
184203
185204
186205@pytest .mark .param_file (FIXTURE_PATH / "attributes.md" )
@@ -192,4 +211,6 @@ def test_attributes(file_params: ParamTestData, sphinx_doctree_no_tr: CreateDoct
192211 }
193212 )
194213 result = sphinx_doctree_no_tr (file_params .content , "index.md" )
195- file_params .assert_expected (result .pformat ("index" ), rstrip_lines = True )
214+ file_params .assert_expected (
215+ normalize_doctree_xml (result .pformat ("index" )), rstrip_lines = True
216+ )
0 commit comments