from django.test import TestCase from misago.markup.parser import parse class MockRequest(object): pass class MockPoster(object): pass class ParserTests(TestCase): def test_inline_text(self): """inline elements are correctly parsed""" test_text = """ Lorem **ipsum** dolor met. Lorem [b]ipsum[/b] [i]dolor[/i] [u]met[/u]. Lorem [b]**ipsum**[/b] [i]dolor[/i] [u]met[/u]. Lorem [b]**ipsum[/b]** [i]dolor[/i] [u]met[/u]. Lorem [b]__ipsum[/b]__ [i]dolor[/i] [u]met[/u]. Lorem [b][i]ipsum[/i][/b]. Lorem [b][i]ipsum[/b][/i]. Lorem [b]ipsum[/B]. """.strip() expected_result = """

Lorem ipsum dolor met.

Lorem ipsum dolor met.

Lorem ipsum dolor met.

Lorem **ipsum** dolor met.

Lorem __ipsum__ dolor met.

Lorem ipsum.

Lorem [i]ipsum[/i].

Lorem ipsum.

""".strip() result = parse(test_text, MockRequest(), MockPoster(), minify=False) self.assertEqual(expected_result, result['parsed_text']) def test_blocks(self): """block elements are correctly parsed""" test_text = """ Lorem ipsum. [hR] Dolor met. """.strip() expected_result = """

Lorem ipsum.


Dolor met.

""".strip() result = parse(test_text, MockRequest(), MockPoster(), minify=False) self.assertEqual(expected_result, result['parsed_text'])