| |
@@ -0,0 +1,114 @@
|
| |
+ From c3bf917fcf18c5211b220a7b294b7e6012c2d510 Mon Sep 17 00:00:00 2001
|
| |
+ From: Adam Turner <9087854+aa-turner@users.noreply.github.com>
|
| |
+ Date: Sun, 1 Jan 2023 19:17:03 +0000
|
| |
+ Subject: [PATCH] Fix tests for Pygments 2.14
|
| |
+
|
| |
+ Pygments 2.14 was released on 01/01/2023 [0]
|
| |
+
|
| |
+ [0]: https://pygments.org/docs/changelog/#version-2-14-0
|
| |
+
|
| |
+ ---
|
| |
+ pyproject.toml | 2 +-
|
| |
+ tests/test_ext_viewcode.py | 27 +++++++++++++++++++--------
|
| |
+ tests/test_intl.py | 11 +++++++++--
|
| |
+ 3 files changed, 29 insertions(+), 11 deletions(-)
|
| |
+
|
| |
+ diff --git a/pyproject.toml b/pyproject.toml
|
| |
+ index 0e059b5..c02ce20 100644
|
| |
+ --- a/pyproject.toml
|
| |
+ +++ b/pyproject.toml
|
| |
+ @@ -64,7 +64,7 @@ dependencies = [
|
| |
+ "sphinxcontrib-serializinghtml>=1.1.5",
|
| |
+ "sphinxcontrib-qthelp",
|
| |
+ "Jinja2>=3.0",
|
| |
+ - "Pygments>=2.12",
|
| |
+ + "Pygments>=2.13",
|
| |
+ "docutils>=0.14,<0.20",
|
| |
+ "snowballstemmer>=2.0",
|
| |
+ "babel>=2.9",
|
| |
+ diff --git a/tests/test_ext_viewcode.py b/tests/test_ext_viewcode.py
|
| |
+ index 7750b8d..6d443d1 100644
|
| |
+ --- a/tests/test_ext_viewcode.py
|
| |
+ +++ b/tests/test_ext_viewcode.py
|
| |
+ @@ -2,6 +2,7 @@
|
| |
+
|
| |
+ import re
|
| |
+
|
| |
+ +import pygments
|
| |
+ import pytest
|
| |
+
|
| |
+
|
| |
+ @@ -31,14 +32,24 @@ def test_viewcode(app, status, warning):
|
| |
+
|
| |
+ result = (app.outdir / '_modules/spam/mod1.html').read_text(encoding='utf8')
|
| |
+ result = re.sub('<span class=".*?">', '<span>', result) # filter pygments classes
|
| |
+ - assert ('<div class="viewcode-block" id="Class1"><a class="viewcode-back" '
|
| |
+ - 'href="../../index.html#spam.Class1">[docs]</a>'
|
| |
+ - '<span>@decorator</span>\n'
|
| |
+ - '<span>class</span> <span>Class1</span>'
|
| |
+ - '<span>(</span><span>object</span><span>):</span>\n'
|
| |
+ - ' <span>"""</span>\n'
|
| |
+ - '<span> this is Class1</span>\n'
|
| |
+ - '<span> """</span></div>\n') in result
|
| |
+ + if pygments.__version__ >= '2.14.0':
|
| |
+ + assert ('<div class="viewcode-block" id="Class1"><a class="viewcode-back" '
|
| |
+ + 'href="../../index.html#spam.Class1">[docs]</a>'
|
| |
+ + '<span>@decorator</span>\n'
|
| |
+ + '<span>class</span> <span>Class1</span>'
|
| |
+ + '<span>(</span><span>object</span><span>):</span>\n'
|
| |
+ + '<span> </span><span>"""</span>\n'
|
| |
+ + '<span> this is Class1</span>\n'
|
| |
+ + '<span> """</span></div>\n') in result
|
| |
+ + else:
|
| |
+ + assert ('<div class="viewcode-block" id="Class1"><a class="viewcode-back" '
|
| |
+ + 'href="../../index.html#spam.Class1">[docs]</a>'
|
| |
+ + '<span>@decorator</span>\n'
|
| |
+ + '<span>class</span> <span>Class1</span>'
|
| |
+ + '<span>(</span><span>object</span><span>):</span>\n'
|
| |
+ + ' <span>"""</span>\n'
|
| |
+ + '<span> this is Class1</span>\n'
|
| |
+ + '<span> """</span></div>\n') in result
|
| |
+
|
| |
+
|
| |
+ @pytest.mark.sphinx('epub', testroot='ext-viewcode')
|
| |
+ diff --git a/tests/test_intl.py b/tests/test_intl.py
|
| |
+ index 796d95b..0c4b838 100644
|
| |
+ --- a/tests/test_intl.py
|
| |
+ +++ b/tests/test_intl.py
|
| |
+ @@ -6,6 +6,7 @@ Runs the text builder in the test root.
|
| |
+ import os
|
| |
+ import re
|
| |
+
|
| |
+ +import pygments
|
| |
+ import docutils
|
| |
+ import pytest
|
| |
+ from babel.messages import mofile, pofile
|
| |
+ @@ -1105,8 +1106,11 @@ def test_additional_targets_should_not_be_translated(app):
|
| |
+ expected_expr = ("""<span class="n">literal</span>"""
|
| |
+ """<span class="o">-</span>"""
|
| |
+ """<span class="n">block</span>\n"""
|
| |
+ - """<span class="k">in</span> """
|
| |
+ + """<span class="k">in</span>"""
|
| |
+ + """<span class="w"> </span>"""
|
| |
+ """<span class="n">list</span>""")
|
| |
+ + if pygments.__version__ < '2.14.0':
|
| |
+ + expected_expr = expected_expr.replace("""<span class="w"> </span>""", ' ')
|
| |
+ assert_count(expected_expr, result, 1)
|
| |
+
|
| |
+ # doctest block should not be translated but be highlighted
|
| |
+ @@ -1184,8 +1188,11 @@ def test_additional_targets_should_be_translated(app):
|
| |
+ expected_expr = ("""<span class="no">LITERAL</span>"""
|
| |
+ """<span class="o">-</span>"""
|
| |
+ """<span class="no">BLOCK</span>\n"""
|
| |
+ - """<span class="no">IN</span> """
|
| |
+ + """<span class="no">IN</span>"""
|
| |
+ + """<span class="w"> </span>"""
|
| |
+ """<span class="no">LIST</span>""")
|
| |
+ + if pygments.__version__ < '2.14.0':
|
| |
+ + expected_expr = expected_expr.replace("""<span class="w"> </span>""", ' ')
|
| |
+ assert_count(expected_expr, result, 1)
|
| |
+
|
| |
+ # doctest block should not be translated but be highlighted
|
| |
+ --
|
| |
+ 2.39.1
|
| |
+
|
| |
I don't like it when versions are compared alphabetically because it will eventually bite. But I guess it'll take some time before pygments 2.100 is released and this is what upstream has merged, so shrug.