summaryrefslogtreecommitdiff
path: root/tests/test_extensions.py
diff options
context:
space:
mode:
authorKlaus Mueller <earth@klml.de>2019-02-23 03:04:40 +0100
committerWaylan Limberg <waylan.limberg@icloud.com>2019-02-22 21:04:40 -0500
commit90833a19eae63f6e787d7718180bd48ca906575a (patch)
treeb459b3766dfb65efa1f107c8a19011d8c225d6cd /tests/test_extensions.py
parent12864d276855231c1d72f0da8efd8dace20a9062 (diff)
downloadpython-markdown-90833a19eae63f6e787d7718180bd48ca906575a.tar.gz
Add support for a range to toc_depth.
Closes #786.
Diffstat (limited to 'tests/test_extensions.py')
-rw-r--r--tests/test_extensions.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/test_extensions.py b/tests/test_extensions.py
index 2203a78..b4c0779 100644
--- a/tests/test_extensions.py
+++ b/tests/test_extensions.py
@@ -1021,6 +1021,34 @@ class TestTOC(TestCaseWithAssertStartsWith):
'<h1 id="toc"><em>[TOC]</em></h1>' # noqa
)
+ def testMinMaxLevel(self):
+ """ Test toc_height setting """
+ md = markdown.Markdown(
+ extensions=[markdown.extensions.toc.TocExtension(toc_depth='3-4')]
+ )
+ text = '# Header 1 not in TOC\n\n## Header 2 not in TOC\n\n### Header 3\n\n####Header 4'
+ self.assertEqual(
+ md.convert(text),
+ '<h1>Header 1 not in TOC</h1>\n'
+ '<h2>Header 2 not in TOC</h2>\n'
+ '<h3 id="header-3">Header 3</h3>\n'
+ '<h4 id="header-4">Header 4</h4>'
+ )
+ self.assertEqual(
+ md.toc,
+ '<div class="toc">\n'
+ '<ul>\n' # noqa
+ '<li><a href="#header-3">Header 3</a>' # noqa
+ '<ul>\n' # noqa
+ '<li><a href="#header-4">Header 4</a></li>\n' # noqa
+ '</ul>\n' # noqa
+ '</li>\n' # noqa
+ '</ul>\n' # noqa
+ '</div>\n'
+ )
+
+ self.assertNotIn("Header 1", md.toc)
+
def testMaxLevel(self):
""" Test toc_depth setting """
md = markdown.Markdown(
@@ -1048,6 +1076,33 @@ class TestTOC(TestCaseWithAssertStartsWith):
self.assertNotIn("Header 3", md.toc)
+ def testMinMaxLevelwithBaseLevel(self):
+ """ Test toc_height setting together with baselevel """
+ md = markdown.Markdown(
+ extensions=[markdown.extensions.toc.TocExtension(toc_depth='4-6',
+ baselevel=3)]
+ )
+ text = '# First Header\n\n## Second Level\n\n### Third Level'
+ self.assertEqual(
+ md.convert(text),
+ '<h3>First Header</h3>\n'
+ '<h4 id="second-level">Second Level</h4>\n'
+ '<h5 id="third-level">Third Level</h5>'
+ )
+ self.assertEqual(
+ md.toc,
+ '<div class="toc">\n'
+ '<ul>\n' # noqa
+ '<li><a href="#second-level">Second Level</a>' # noqa
+ '<ul>\n' # noqa
+ '<li><a href="#third-level">Third Level</a></li>\n' # noqa
+ '</ul>\n' # noqa
+ '</li>\n' # noqa
+ '</ul>\n' # noqa
+ '</div>\n'
+ )
+ self.assertNotIn("First Header", md.toc)
+
def testMaxLevelwithBaseLevel(self):
""" Test toc_depth setting together with baselevel """
md = markdown.Markdown(