tests.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django.test import TestCase
  2. from misago.markup.parser import parse_text
  3. class ParserTests(TestCase):
  4. def test_inline_text(self):
  5. """inline elements are correctly parsed"""
  6. test_text = """
  7. Lorem **ipsum** dolor met.
  8. Lorem [b]ipsum[/b] [i]dolor[/i] [u]met[/u].
  9. Lorem [b]**ipsum**[/b] [i]dolor[/i] [u]met[/u].
  10. Lorem [b]**ipsum[/b]** [i]dolor[/i] [u]met[/u].
  11. Lorem [b]__ipsum[/b]__ [i]dolor[/i] [u]met[/u].
  12. Lorem [b][i]ipsum[/i][/b].
  13. Lorem [b][i]ipsum[/b][/i].
  14. Lorem [b]ipsum[/B].
  15. """.strip()
  16. expected_result = """
  17. <p>Lorem <strong>ipsum</strong> dolor met.</p>
  18. <p>Lorem <b>ipsum</b> <i>dolor</i> <u>met</u>.</p>
  19. <p>Lorem <b><strong>ipsum</strong></b> <i>dolor</i> <u>met</u>.</p>
  20. <p>Lorem <b>**ipsum</b>** <i>dolor</i> <u>met</u>.</p>
  21. <p>Lorem <b>__ipsum</b>__ <i>dolor</i> <u>met</u>.</p>
  22. <p>Lorem <b><i>ipsum</i></b>.</p>
  23. <p>Lorem <b>[i]ipsum</b>[/i].</p>
  24. <p>Lorem <b>ipsum</b>.</p>
  25. """.strip()
  26. result = parse_text(test_text)
  27. self.assertEqual(expected_result, result['parsed_text'])