diff options
author | Klaus Mueller <earth@klml.de> | 2019-02-23 03:04:40 +0100 |
---|---|---|
committer | Waylan Limberg <waylan.limberg@icloud.com> | 2019-02-22 21:04:40 -0500 |
commit | 90833a19eae63f6e787d7718180bd48ca906575a (patch) | |
tree | b459b3766dfb65efa1f107c8a19011d8c225d6cd /tests/test_extensions.py | |
parent | 12864d276855231c1d72f0da8efd8dace20a9062 (diff) | |
download | python-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.py | 55 |
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( |