Merge branch '3.5.x' into 8888

This commit is contained in:
Takeshi KOMIYA 2021-02-15 23:11:28 +09:00
commit ba0fa064f9
4 changed files with 153 additions and 63 deletions

View File

@ -16,6 +16,8 @@ Features added
Bugs fixed
----------
* #8884: html: minified js stemmers not included in the distributed package
Testing
--------

View File

@ -22,6 +22,7 @@ recursive-include sphinx/texinputs_win *
recursive-include sphinx/themes *
recursive-include sphinx/locale *.js *.pot *.po *.mo
recursive-include sphinx/search/non-minified-js *.js
recursive-include sphinx/search/minified-js *.js
recursive-include sphinx/ext/autosummary/templates *
recursive-include tests *
recursive-include utils *

View File

@ -1621,6 +1621,13 @@ def test_html_codeblock_linenos_style_table(app):
app.build()
content = (app.outdir / 'index.html').read_text()
pygments_version = tuple(LooseVersion(pygments.__version__).version)
if pygments_version >= (2, 8):
assert ('<div class="linenodiv"><pre><span class="normal">1</span>\n'
'<span class="normal">2</span>\n'
'<span class="normal">3</span>\n'
'<span class="normal">4</span></pre></div>') in content
else:
assert '<div class="linenodiv"><pre>1\n2\n3\n4</pre></div>' in content

View File

@ -9,7 +9,9 @@
"""
import os
from distutils.version import LooseVersion
import pygments
import pytest
from docutils import nodes
@ -421,8 +423,25 @@ def test_literal_include_block_start_with_comment_or_brank(app, status, warning)
def test_literal_include_linenos(app, status, warning):
app.builder.build(['linenos'])
html = (app.outdir / 'linenos.html').read_text()
pygments_version = tuple(LooseVersion(pygments.__version__).version)
# :linenos:
if pygments_version >= (2, 8):
assert ('<td class="linenos"><div class="linenodiv"><pre>'
'<span class="normal"> 1</span>\n'
'<span class="normal"> 2</span>\n'
'<span class="normal"> 3</span>\n'
'<span class="normal"> 4</span>\n'
'<span class="normal"> 5</span>\n'
'<span class="normal"> 6</span>\n'
'<span class="normal"> 7</span>\n'
'<span class="normal"> 8</span>\n'
'<span class="normal"> 9</span>\n'
'<span class="normal">10</span>\n'
'<span class="normal">11</span>\n'
'<span class="normal">12</span>\n'
'<span class="normal">13</span></pre></div></td>' in html)
else:
assert ('<td class="linenos"><div class="linenodiv"><pre>'
' 1\n'
' 2\n'
@ -439,6 +458,22 @@ def test_literal_include_linenos(app, status, warning):
'13</pre></div></td>' in html)
# :lineno-start:
if pygments_version >= (2, 8):
assert ('<td class="linenos"><div class="linenodiv"><pre>'
'<span class="normal">200</span>\n'
'<span class="normal">201</span>\n'
'<span class="normal">202</span>\n'
'<span class="normal">203</span>\n'
'<span class="normal">204</span>\n'
'<span class="normal">205</span>\n'
'<span class="normal">206</span>\n'
'<span class="normal">207</span>\n'
'<span class="normal">208</span>\n'
'<span class="normal">209</span>\n'
'<span class="normal">210</span>\n'
'<span class="normal">211</span>\n'
'<span class="normal">212</span></pre></div></td>' in html)
else:
assert ('<td class="linenos"><div class="linenodiv"><pre>'
'200\n'
'201\n'
@ -455,6 +490,14 @@ def test_literal_include_linenos(app, status, warning):
'212</pre></div></td>' in html)
# :lineno-match:
if pygments_version >= (2, 8):
assert ('<td class="linenos"><div class="linenodiv"><pre>'
'<span class="normal">5</span>\n'
'<span class="normal">6</span>\n'
'<span class="normal">7</span>\n'
'<span class="normal">8</span>\n'
'<span class="normal">9</span></pre></div></td>' in html)
else:
assert ('<td class="linenos"><div class="linenodiv"><pre>'
'5\n'
'6\n'
@ -594,10 +637,20 @@ def test_linenothreshold(app, status, warning):
app.builder.build(['linenothreshold'])
html = (app.outdir / 'linenothreshold.html').read_text()
pygments_version = tuple(LooseVersion(pygments.__version__).version)
lineos_head = '<td class="linenos"><div class="linenodiv"><pre>'
lineos_tail = '</pre></div></td>'
# code-block using linenothreshold
if pygments_version >= (2, 8):
_, matched, html = html.partition(lineos_head +
'<span class="normal">1</span>\n'
'<span class="normal">2</span>\n'
'<span class="normal">3</span>\n'
'<span class="normal">4</span>\n'
'<span class="normal">5</span>\n'
'<span class="normal">6</span>' + lineos_tail)
else:
_, matched, html = html.partition(lineos_head +
'1\n'
'2\n'
@ -608,12 +661,33 @@ def test_linenothreshold(app, status, warning):
assert matched
# code-block not using linenothreshold
if pygments_version >= (2, 8):
html, matched, _ = html.partition(lineos_head +
'<span class="normal">1</span>\n'
'<span class="normal">2</span>' + lineos_tail)
else:
html, matched, _ = html.partition(lineos_head +
'1\n'
'2' + lineos_tail)
assert not matched
# literal include using linenothreshold
if pygments_version >= (2, 8):
_, matched, html = html.partition(lineos_head +
'<span class="normal"> 1</span>\n'
'<span class="normal"> 2</span>\n'
'<span class="normal"> 3</span>\n'
'<span class="normal"> 4</span>\n'
'<span class="normal"> 5</span>\n'
'<span class="normal"> 6</span>\n'
'<span class="normal"> 7</span>\n'
'<span class="normal"> 8</span>\n'
'<span class="normal"> 9</span>\n'
'<span class="normal">10</span>\n'
'<span class="normal">11</span>\n'
'<span class="normal">12</span>\n'
'<span class="normal">13</span>' + lineos_tail)
else:
_, matched, html = html.partition(lineos_head +
' 1\n'
' 2\n'
@ -631,6 +705,12 @@ def test_linenothreshold(app, status, warning):
assert matched
# literal include not using linenothreshold
if pygments_version >= (2, 8):
html, matched, _ = html.partition(lineos_head +
'<span class="normal">1</span>\n'
'<span class="normal">2</span>\n'
'<span class="normal">3</span>' + lineos_tail)
else:
html, matched, _ = html.partition(lineos_head +
'1\n'
'2\n'