aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_extensions.py
diff options
context:
space:
mode:
authorWaylan Limberg <waylan@gmail.com>2013-02-19 11:00:38 -0500
committerWaylan Limberg <waylan@gmail.com>2013-02-19 11:00:38 -0500
commite5e07c3746358fc70afc2e5b0344a5e7573b444a (patch)
tree5124591a538876a7a1f9eea31a3eb39b5cde5ad8 /tests/test_extensions.py
parent53a7fc80f12cc1da699c2a7f56da13da32e6de8f (diff)
downloadmarkdown-e5e07c3746358fc70afc2e5b0344a5e7573b444a.tar.gz
markdown-e5e07c3746358fc70afc2e5b0344a5e7573b444a.tar.bz2
markdown-e5e07c3746358fc70afc2e5b0344a5e7573b444a.zip
Ensure toc attribute is available on Markdown class.
This appears to have recently been broken with the fixes in #191. This time I've added tests to prevent future breakage and added documentation to explain the behavior.
Diffstat (limited to 'tests/test_extensions.py')
-rw-r--r--tests/test_extensions.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/test_extensions.py b/tests/test_extensions.py
index bee270a..fa9a801 100644
--- a/tests/test_extensions.py
+++ b/tests/test_extensions.py
@@ -371,3 +371,42 @@ class TestAdmonition(unittest.TestCase):
]
for test, expected in tests:
self.assertEqual(RE.match(test).groups(), expected)
+
+class TestTOC(unittest.TestCase):
+ """ Test TOC Extension. """
+
+ def setUp(self):
+ self.md = markdown.Markdown(extensions=['toc'])
+
+ def testMarker(self):
+ """ Test TOC with a Marker. """
+ text = '[TOC]\n\n# Header 1\n\n## Header 2'
+ self.assertEqual(self.md.convert(text),
+ '<div class="toc">\n'
+ '<ul>\n'
+ '<li><a href="#header-1">Header 1</a>'
+ '<ul>\n'
+ '<li><a href="#header-2">Header 2</a></li>\n'
+ '</ul>\n'
+ '</li>\n'
+ '</ul>\n'
+ '</div>\n'
+ '<h1 id="header-1">Header 1</h1>\n'
+ '<h2 id="header-2">Header 2</h2>')
+
+ def testNoMarker(self):
+ """ Test TOC without a Marker. """
+ text = '# Header 1\n\n## Header 2'
+ self.assertEqual(self.md.convert(text),
+ '<h1 id="header-1">Header 1</h1>\n'
+ '<h2 id="header-2">Header 2</h2>')
+ self.assertEqual(self.md.toc,
+ '<div class="toc">\n'
+ '<ul>\n'
+ '<li><a href="#header-1">Header 1</a>'
+ '<ul>\n'
+ '<li><a href="#header-2">Header 2</a></li>\n'
+ '</ul>\n'
+ '</li>\n'
+ '</ul>\n'
+ '</div>\n') \ No newline at end of file