summaryrefslogtreecommitdiff
path: root/tests/test_directive_code.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_directive_code.py')
-rw-r--r--tests/test_directive_code.py174
1 files changed, 19 insertions, 155 deletions
diff --git a/tests/test_directive_code.py b/tests/test_directive_code.py
index ee67b738a..a011a31e8 100644
--- a/tests/test_directive_code.py
+++ b/tests/test_directive_code.py
@@ -9,9 +9,7 @@
"""
import os
-from distutils.version import LooseVersion
-import pygments
import pytest
from docutils import nodes
@@ -423,87 +421,18 @@ 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'
- ' 3\n'
- ' 4\n'
- ' 5\n'
- ' 6\n'
- ' 7\n'
- ' 8\n'
- ' 9\n'
- '10\n'
- '11\n'
- '12\n'
- '13</pre></div></td>' in html)
+ assert ('<span class="linenos"> 1</span><span class="c1">'
+ '# Literally included file using Python highlighting</span>' 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'
- '202\n'
- '203\n'
- '204\n'
- '205\n'
- '206\n'
- '207\n'
- '208\n'
- '209\n'
- '210\n'
- '211\n'
- '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'
- '7\n'
- '8\n'
- '9</pre></div></td>' in html)
+ assert ('<span class="linenos">200</span><span class="c1">'
+ '# Literally included file using Python highlighting</span>' in html)
+
+ # :lines: 5-9
+ assert ('<span class="linenos">5</span><span class="k">class</span> '
+ '<span class="nc">Foo</span><span class="p">:</span>' in html)
@pytest.mark.sphinx('latex', testroot='directive-code')
@@ -637,82 +566,17 @@ 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'
- '3\n'
- '4\n'
- '5\n'
- '6' + lineos_tail)
- 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
+ assert ('<span class="linenos">1</span><span class="k">class</span> '
+ '<span class="nc">Foo</span><span class="p">:</span>' in html)
+
+ # code-block not using linenothreshold (no line numbers)
+ assert '<span></span><span class="c1"># comment</span>' in html
# 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'
- ' 3\n'
- ' 4\n'
- ' 5\n'
- ' 6\n'
- ' 7\n'
- ' 8\n'
- ' 9\n'
- '10\n'
- '11\n'
- '12\n'
- '13' + lineos_tail)
- 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'
- '3' + lineos_tail)
- assert not matched
+ assert ('<span class="linenos"> 1</span><span class="c1">'
+ '# Literally included file using Python highlighting</span>' in html)
+
+ # literal include not using linenothreshold (no line numbers)
+ assert ('<span></span><span class="c1"># Very small literal include '
+ '(linenothreshold check)</span>' in html)