sitolost/pelican-plugins/simple_footnotes/test_simple_footnotes.py
2019-10-23 14:37:16 +02:00

33 lines
1.1 KiB
Python

import unittest
from simple_footnotes import parse_for_footnotes
class PseudoArticleGenerator(object):
articles = []
class PseudoArticle(object):
_content = ""
slug = "article"
class TestFootnotes(unittest.TestCase):
def _expect(self, input, expected_output):
ag = PseudoArticleGenerator()
art = PseudoArticle()
art._content = input
ag.articles = [art]
parse_for_footnotes(ag)
self.assertEqual(art._content, expected_output)
def test_simple(self):
self._expect("words[ref]footnote[/ref]end",
('words<sup id="sf-article-1-back"><a title="footnote" '
'href="#sf-article-1" class="simple-footnote">1</a></sup>end'
'<ol class="simple-footnotes">'
u'<li id="sf-article-1">footnote <a href="#sf-article-1-back" class="simple-footnote-back">\u21a9</a></li>'
'</ol>'))
def test_no_footnote_inside_code(self):
self._expect("words<code>this is code[ref]footnote[/ref] end code </code> end",
"words<code>this is code[ref]footnote[/ref] end code </code> end")
if __name__ == '__main__':
unittest.main()