aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/extensions/admonition.html19
-rw-r--r--tests/extensions/admonition.txt17
-rw-r--r--tests/extensions/test.cfg3
-rw-r--r--tests/test_extensions.py56
4 files changed, 85 insertions, 10 deletions
diff --git a/tests/extensions/admonition.html b/tests/extensions/admonition.html
new file mode 100644
index 0000000..f28bcfd
--- /dev/null
+++ b/tests/extensions/admonition.html
@@ -0,0 +1,19 @@
+<p>Some text</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A normal paragraph here</p>
+<ol>
+<li>first</li>
+<li>second</li>
+</ol>
+</div>
+<p>More text and stuff.</p>
+<div class="admonition note">
+<p class="admonition-title">Did you know?</p>
+<p>You can customize the title of the admonition</p>
+</div>
+<div class="admonition mycustomcssclass">
+<p class="admonition-title">And now...</p>
+<p>For something completely different.</p>
+<p>You can also use a custom CSS class name.</p>
+</div> \ No newline at end of file
diff --git a/tests/extensions/admonition.txt b/tests/extensions/admonition.txt
new file mode 100644
index 0000000..e8db239
--- /dev/null
+++ b/tests/extensions/admonition.txt
@@ -0,0 +1,17 @@
+Some text
+
+!!! note
+ A normal paragraph here
+
+ 1. first
+ 2. second
+
+More text and stuff.
+
+!!! note "Did you know?"
+ You can customize the title of the admonition
+
+!!! mycustomcssclass "And now..."
+ For something completely different.
+
+ You can also use a custom CSS class name.
diff --git a/tests/extensions/test.cfg b/tests/extensions/test.cfg
index ac8a747..e83aa62 100644
--- a/tests/extensions/test.cfg
+++ b/tests/extensions/test.cfg
@@ -29,3 +29,6 @@ extensions=fenced_code
[sane_lists]
extensions=sane_lists
+
+[admonition]
+extensions=admonition
diff --git a/tests/test_extensions.py b/tests/test_extensions.py
index 15feb6b..ca1520e 100644
--- a/tests/test_extensions.py
+++ b/tests/test_extensions.py
@@ -2,7 +2,7 @@
Python-Markdown Extension Regression Tests
==========================================
-A collection of regression tests to confirm that the included extensions
+A collection of regression tests to confirm that the included extensions
continue to work as advertised. This used to be accomplished by doctests.
"""
@@ -59,7 +59,7 @@ class TestFencedCode(unittest.TestCase):
def testBasicFence(self):
""" Test Fenced Code Blocks. """
- text = '''
+ text = '''
A paragraph before a fenced code block:
~~~
@@ -123,7 +123,7 @@ class TestHeaderId(unittest.TestCase):
def testBasicHeaderId(self):
""" Test Basic HeaderID """
-
+
text = "# Some Header #"
self.assertEqual(self.md.convert(text),
'<h1 id="some-header">Some Header</h1>')
@@ -189,8 +189,8 @@ The body. This is paragraph one.'''
self.assertEqual(self.md.convert(text),
'<p>The body. This is paragraph one.</p>')
self.assertEqual(self.md.Meta,
- {'author': ['Waylan Limberg', 'John Doe'],
- 'blank_data': [''],
+ {'author': ['Waylan Limberg', 'John Doe'],
+ 'blank_data': [''],
'title': ['A Test Doc.']})
def testMissingMetaData(self):
@@ -226,18 +226,18 @@ class TestWikiLinks(unittest.TestCase):
def testSimpleSettings(self):
""" Test Simple Settings. """
- self.assertEqual(markdown.markdown(self.text,
+ self.assertEqual(markdown.markdown(self.text,
['wikilinks(base_url=/wiki/,end_url=.html,html_class=foo)']),
'<p>Some text with a '
'<a class="foo" href="/wiki/WikiLink.html">WikiLink</a>.</p>')
-
+
def testComplexSettings(self):
""" Test Complex Settings. """
md = markdown.Markdown(
- extensions = ['wikilinks'],
+ extensions = ['wikilinks'],
extension_configs = {'wikilinks': [
- ('base_url', 'http://example.com/'),
+ ('base_url', 'http://example.com/'),
('end_url', '.html'),
('html_class', '') ]},
safe_mode = True)
@@ -268,8 +268,44 @@ Some text with a [[WikiLink]]."""
def my_url_builder(label, base, end):
return '/bar/'
- md = markdown.Markdown(extensions=['wikilinks'],
+ md = markdown.Markdown(extensions=['wikilinks'],
extension_configs={'wikilinks' : [('build_url', my_url_builder)]})
self.assertEqual(md.convert('[[foo]]'),
'<p><a class="wikilink" href="/bar/">foo</a></p>')
+class TestAdmonition(unittest.TestCase):
+ """ Test Admonition Extension. """
+
+ def setUp(self):
+ self.md = markdown.Markdown(extensions=['admonition'])
+ self.text = \
+'''!!! note
+ First line
+
+!!! didyouknow "Did you know?"
+ Another text'''
+
+ def testComplexSettings(self):
+ """ Test Complex Settings. """
+
+ # config = {
+ # 'styles': {
+ # 'note': ('note', 'Please Note'),
+ # 'didyouknow': ('note', 'Did you know?'),
+ # }
+ # }
+
+ md = markdown.Markdown(
+ extensions=['admonition'],
+ extension_configs={
+ 'admonition': []
+ },
+ safe_mode=True)
+ self.assertEqual(md.convert(self.text),
+ '<div class="admonition note">\n'
+ '<p class="admonition-title">Note</p>\n'
+ '<p>First line</p>\n'
+ '</div>\n'
+ '<div class="admonition didyouknow">\n'
+ '<p class="admonition-title">Did you know?</p>\n'
+ '<p>Another text</p>\n</div>')