aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_compile_markdown.py
diff options
context:
space:
mode:
authorLibravatarAgustin Henze <tin@sluc.org.ar>2013-05-30 17:41:32 -0300
committerLibravatarAgustin Henze <tin@sluc.org.ar>2013-05-30 17:41:32 -0300
commit47320d60c110fe6058937f996da750caf669d7ed (patch)
tree73288c7b833daa42ac200025ed41c940cc8a76f9 /tests/test_compile_markdown.py
parent432fee57865e02af455e877a9597ef730397146c (diff)
parentf794eee787e9cde54e6b8f53e45d69c9ddc9936a (diff)
Merge tag 'upstream/5.4.4'
Upstream version 5.4.4
Diffstat (limited to 'tests/test_compile_markdown.py')
-rw-r--r--tests/test_compile_markdown.py122
1 files changed, 122 insertions, 0 deletions
diff --git a/tests/test_compile_markdown.py b/tests/test_compile_markdown.py
new file mode 100644
index 0000000..a1f8591
--- /dev/null
+++ b/tests/test_compile_markdown.py
@@ -0,0 +1,122 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+import codecs
+import shutil
+import tempfile
+import unittest
+from os import path
+
+from nikola.plugins.compile_markdown import CompileMarkdown
+
+
+class CompileMarkdownTests(unittest.TestCase):
+ def setUp(self):
+ self.tmp_dir = tempfile.mkdtemp()
+ self.input_path = path.join(self.tmp_dir, 'input.markdown')
+ self.output_path = path.join(self.tmp_dir, 'output.html')
+
+ self.compiler = CompileMarkdown()
+
+ def compile(self, input_string):
+ with codecs.open(self.input_path, "w+", "utf8") as input_file:
+ input_file.write(input_string)
+
+ self.compiler.compile_html(self.input_path, self.output_path)
+
+ output_str = None
+ with codecs.open(self.output_path, "r", "utf8") as output_path:
+ output_str = output_path.read()
+
+ return output_str
+
+ def tearDown(self):
+ shutil.rmtree(self.tmp_dir)
+
+ def test_compile_html_empty(self):
+ input_str = ''
+ actual_output = self.compile(input_str)
+ self.assertEquals(actual_output, '')
+
+ def test_compile_html_heading_tags(self):
+ input_str = '''\
+# header 1
+## header 2
+### header 3
+#### header 4
+##### header 5
+###### header 6
+'''
+ expected_output = '''\
+<h2>header 1</h2>
+<h3>header 2</h3>
+<h4>header 3</h4>
+<h5>header 4</h5>
+<h6>header 5</h6>
+<h7>header 6</h7>
+'''
+
+ actual_output = self.compile(input_str)
+ self.assertEquals(actual_output.strip(), expected_output.strip())
+
+ def test_compile_html_code_hilite(self):
+ input_str = '''\
+ #!python
+ from this
+'''
+ expected_output = '''\
+<table class="codehilitetable"><tr><td class="linenos">\
+<div class="linenodiv"><pre>1</pre></div>\
+</td><td class="code"><div class="code">\
+<pre><span class="kn">from</span> <span class="nn">this</span>
+</pre></div>
+</td></tr></table>
+'''
+
+ actual_output = self.compile(input_str)
+ self.assertEquals(actual_output.strip(), expected_output.strip())
+
+ def test_compile_html_gist(self):
+ input_str = '''\
+Here's a gist file inline:
+[:gist: 4747847 zen.py]
+
+Cool, eh?
+'''
+ expected_output = '''\
+<p>Here's a gist file inline:
+<div class="gist">
+<script src="https://gist.github.com/4747847.js?file=zen.py"></script>
+<noscript>
+<pre>import this</pre>
+</noscript>
+</div>
+</p>
+<p>Cool, eh?</p>
+'''
+ actual_output = self.compile(input_str)
+ self.assertEquals(actual_output.strip(), expected_output.strip())
+
+ def test_compile_html_gist_2(self):
+ input_str = '''\
+Here's a gist file inline, using reStructuredText syntax:
+..gist:: 4747847 zen.py
+
+Cool, eh?
+'''
+ expected_output = '''\
+<p>Here's a gist file inline, using reStructuredText syntax:
+<div class="gist">
+<script src="https://gist.github.com/4747847.js?file=zen.py"></script>
+<noscript>
+<pre>import this</pre>
+</noscript>
+</div>
+</p>
+<p>Cool, eh?</p>
+'''
+ actual_output = self.compile(input_str)
+ self.assertEquals(actual_output.strip(), expected_output.strip())
+
+
+if __name__ == '__main__':
+ unittest.main()