##// END OF EJS Templates
Explicit imports
Explicit imports

File last commit:

r11928:141b03d2
r11928:141b03d2
Show More
test_markdown.py
99 lines | 2.5 KiB | text/x-python | PythonLexer
Jonathan Frederic
Add new filter tests
r11902
"""
Module with tests for Markdown
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Jonathan Frederic
Escape asterik in rst tests
r11920 from copy import copy
Jonathan Frederic
Add new filter tests
r11902
from IPython.testing.decorators import onlyif_cmds_exist
Jonathan Frederic
Check for tokens instead of fuzzy output comparison
r11917 from IPython.utils.py3compat import string_types
Jonathan Frederic
Add new filter tests
r11902
from ...tests.base import TestsBase
Jonathan Frederic
Explicit imports
r11928 from ..markdown import markdown2latex, markdown2html, markdown2rst
Jonathan Frederic
Add new filter tests
r11902
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestMarkdown(TestsBase):
tests = [
'*test',
'**test',
'*test*',
'_test_',
'__test__',
'__*test*__',
'**test**',
'#test',
'##test',
'test\n----',
Jonathan Frederic
Removed large tests
r11916 'test [link](https://google.com/)']
Jonathan Frederic
Add new filter tests
r11902
Jonathan Frederic
Check for tokens instead of fuzzy output comparison
r11917 tokens = [
'*test',
'**test',
'test',
'test',
'test',
'test',
'test',
'test',
'test',
'test',
('test', 'https://google.com/')]
Jonathan Frederic
Add new filter tests
r11902
@onlyif_cmds_exist('pandoc')
def test_markdown2latex(self):
"""
markdown2latex test
"""
for index, test in enumerate(self.tests):
Jonathan Frederic
Fixed reference to `tokens`
r11919 yield self._try_markdown, markdown2latex, test, self.tokens[index]
Jonathan Frederic
Add new filter tests
r11902
@onlyif_cmds_exist('pandoc')
def test_markdown2html(self):
"""
markdown2html test
"""
for index, test in enumerate(self.tests):
Jonathan Frederic
Fixed reference to `tokens`
r11919 yield self._try_markdown, markdown2html, test, self.tokens[index]
Jonathan Frederic
Add new filter tests
r11902
@onlyif_cmds_exist('pandoc')
def test_markdown2rst(self):
"""
markdown2rst test
"""
Jonathan Frederic
Escape asterik in rst tests
r11920
#Modify token array for rst, escape asterik
tokens = copy(self.tokens)
tokens[0] = r'\*test'
tokens[1] = r'\*\*test'
Jonathan Frederic
Add new filter tests
r11902 for index, test in enumerate(self.tests):
Jonathan Frederic
Check for tokens instead of fuzzy output comparison
r11917 yield self._try_markdown, markdown2rst, test, tokens[index]
Jonathan Frederic
Add new filter tests
r11902
Jonathan Frederic
Check for tokens instead of fuzzy output comparison
r11917 def _try_markdown(self, method, test, tokens):
results = method(test)
if isinstance(tokens, string_types):
assert tokens in results
else:
for token in tokens:
assert token in results