# -*- coding: utf-8 -*- from __future__ import unicode_literals import os import sys import io import shutil import tempfile import unittest from os import path from nikola.plugins.compile.markdown import CompileMarkdown from .base import BaseTestCase, FakeSite class CompileMarkdownTests(BaseTestCase): 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() self.compiler.set_site(FakeSite()) def compile(self, input_string): with io.open(self.input_path, "w+", encoding="utf8") as input_file: input_file.write(input_string) self.compiler.compile_html(self.input_path, self.output_path) output_str = None with io.open(self.output_path, "r", encoding="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_code_hilite(self): input_str = '''\ #!python from this ''' expected_output = '''\
\
1 | \ from this |
strik text
Here's a gist file inline:
Cool, eh?
''' 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 = '''\Here's a gist file inline, using reStructuredText syntax:
Cool, eh?
''' actual_output = self.compile(input_str) self.assertEquals(actual_output.strip(), expected_output.strip()) if __name__ == '__main__': unittest.main()