https://github.com/sphinx-doc/sphinx/commit/5ff3740063c1ac57f17ecd697bcd06cc1de4e75c --- sphinx-7.4.7/tests/test_builders/test_build_html_code.py.orig +++ sphinx-7.4.7/tests/test_builders/test_build_html_code.py @@ -1,3 +1,4 @@ +import pygments import pytest @@ -24,11 +25,16 @@ @pytest.mark.sphinx('html', testroot='reST-code-role') def test_html_code_role(app): + if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): + sp = ' ' + else: + sp = ' ' + app.build() content = (app.outdir / 'index.html').read_text(encoding='utf8') common_content = ( - 'def foo' + f'def{sp}foo' '(' '1 ' '+ ' --- sphinx-7.4.7/tests/test_builders/test_build_latex.py.orig +++ sphinx-7.4.7/tests/test_builders/test_build_latex.py @@ -8,6 +8,7 @@ from shutil import copyfile from subprocess import CalledProcessError +import pygments import pytest from sphinx.builders.latex import default_latex_documents @@ -1677,12 +1678,16 @@ @pytest.mark.sphinx('latex', testroot='reST-code-role') def test_latex_code_role(app): + if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): + sp = r'\PYG{+w}{ }' + else: + sp = ' ' + app.build() content = (app.outdir / 'projectnamenotset.tex').read_text(encoding='utf8') common_content = ( - r'\PYG{k}{def} ' - r'\PYG{n+nf}{foo}' + r'\PYG{k}{def}' + sp + r'\PYG{n+nf}{foo}' r'\PYG{p}{(}' r'\PYG{l+m+mi}{1} ' r'\PYG{o}{+} ' --- sphinx-7.4.7/tests/test_directives/test_directive_code.py.orig +++ sphinx-7.4.7/tests/test_directives/test_directive_code.py @@ -2,6 +2,7 @@ import os.path +import pygments import pytest from docutils import nodes @@ -405,6 +406,11 @@ @pytest.mark.sphinx('html', testroot='directive-code') def test_literal_include_linenos(app, status, warning): + if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): + sp = ' ' + else: + sp = ' ' + app.build(filenames=[app.srcdir / 'linenos.rst']) html = (app.outdir / 'linenos.html').read_text(encoding='utf8') @@ -417,7 +423,7 @@ '# Literally included file using Python highlighting' in html) # :lines: 5-9 - assert ('5class ' + assert (f'5class{sp}' 'Foo:' in html) @@ -549,11 +555,16 @@ @pytest.mark.sphinx('html', testroot='directive-code') def test_linenothreshold(app, status, warning): + if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): + sp = ' ' + else: + sp = ' ' + app.build(filenames=[app.srcdir / 'linenothreshold.rst']) html = (app.outdir / 'linenothreshold.html').read_text(encoding='utf8') # code-block using linenothreshold - assert ('1class ' + assert (f'1class{sp}' 'Foo:' in html) # code-block not using linenothreshold (no line numbers) --- sphinx-7.4.7/tests/test_extensions/test_ext_viewcode.py.orig +++ sphinx-7.4.7/tests/test_extensions/test_ext_viewcode.py @@ -3,10 +3,16 @@ import re import shutil +import pygments import pytest def check_viewcode_output(app, warning): + if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): + sp = ' ' + else: + sp = ' ' + warnings = re.sub(r'\\+', '/', warning.getvalue()) assert re.findall( r"index.rst:\d+: WARNING: Object named 'func1' not found in include " + @@ -32,7 +38,7 @@ assert ('