Add tests for :dedent: option of code-block directive

This commit is contained in:
Latosha Maltba
2021-09-21 09:19:53 +00:00
parent 274ee481ac
commit cf9b5b5be9
2 changed files with 90 additions and 0 deletions
+26
View File
@@ -580,3 +580,29 @@ def test_linenothreshold(app, status, warning):
# literal include not using linenothreshold (no line numbers)
assert ('<span></span><span class="c1"># Very small literal include '
'(linenothreshold check)</span>' in html)
@pytest.mark.sphinx('dummy', testroot='directive-code')
def test_code_block_dedent(app, status, warning):
app.builder.build(['dedent'])
doctree = app.env.get_doctree('dedent')
codeblocks = list(doctree.traverse(nodes.literal_block))
# Note: comparison string should not have newlines at the beginning or end
text_0_indent = '''First line
Second line
Third line
Fourth line'''
text_2_indent = ''' First line
Second line
Third line
Fourth line'''
text_4_indent = ''' First line
Second line
Third line
Fourth line'''
assert codeblocks[0].astext() == text_0_indent
assert codeblocks[1].astext() == text_0_indent
assert codeblocks[2].astext() == text_4_indent
assert codeblocks[3].astext() == text_2_indent
assert codeblocks[4].astext() == text_4_indent
assert codeblocks[5].astext() == text_0_indent