annotate core/tests/test_markup.py @ 1236:df3473a1ee8c modernize tip

Add unit tests for core.markup
author Brian Neal <bgneal@gmail.com>
date Sat, 07 Jun 2025 08:28:27 -0500
parents
children
rev   line source
bgneal@1236 1 """
bgneal@1236 2 Tests for the core markup module.
bgneal@1236 3
bgneal@1236 4 """
bgneal@1236 5 import textwrap
bgneal@1236 6 import unittest
bgneal@1236 7
bgneal@1236 8 from django.test import TestCase
bgneal@1236 9
bgneal@1236 10 from core.markup import Markdown, markdown, SiteMarkup, site_markup
bgneal@1236 11
bgneal@1236 12
bgneal@1236 13 class MarkdownTestCase(unittest.TestCase):
bgneal@1236 14
bgneal@1236 15 TEST_TEXT = textwrap.dedent("""\
bgneal@1236 16 Some text.
bgneal@1236 17 https://example.com
bgneal@1236 18 ---deleted text---
bgneal@1236 19 """)
bgneal@1236 20
bgneal@1236 21 EXPECTED = textwrap.dedent(u"""\
bgneal@1236 22 <p>Some text.<br>
bgneal@1236 23 <a href="https://example.com">https://example.com</a><br>
bgneal@1236 24 <del>deleted text</del></p>""")
bgneal@1236 25
bgneal@1236 26 def test_markdown_class(self):
bgneal@1236 27 md = Markdown()
bgneal@1236 28 output = md.convert(self.TEST_TEXT)
bgneal@1236 29 self.assertEqual(output, self.EXPECTED)
bgneal@1236 30
bgneal@1236 31 def test_markdown_function(self):
bgneal@1236 32 output = markdown(self.TEST_TEXT)
bgneal@1236 33 self.assertEqual(output, self.EXPECTED)
bgneal@1236 34
bgneal@1236 35
bgneal@1236 36 class SiteMarkdupTestCase(TestCase):
bgneal@1236 37 fixtures = ['smilies.json']
bgneal@1236 38
bgneal@1236 39 TEST_TEXT = textwrap.dedent("""\
bgneal@1236 40 Some text.
bgneal@1236 41 https://example.com
bgneal@1236 42 ---deleted text---
bgneal@1236 43 :sg101:
bgneal@1236 44 """)
bgneal@1236 45
bgneal@1236 46 EXPECTED = textwrap.dedent(u"""\
bgneal@1236 47 <p>Some text.<br>
bgneal@1236 48 <a href="https://example.com">https://example.com</a><br>
bgneal@1236 49 <del>deleted text</del><br>
bgneal@1236 50 <img src="/media/smiley/images/icon_sg101.gif" alt="SG101!" title="SG101!"></p>""")
bgneal@1236 51
bgneal@1236 52 def test_site_markup_class(self):
bgneal@1236 53 sm = SiteMarkup()
bgneal@1236 54 output = sm.convert(self.TEST_TEXT)
bgneal@1236 55 self.assertEqual(output, self.EXPECTED)
bgneal@1236 56
bgneal@1236 57 def test_site_markup_function(self):
bgneal@1236 58 output = site_markup(self.TEST_TEXT)
bgneal@1236 59 self.assertEqual(output, self.EXPECTED)