from django.test import TestCase from misago.markup.parser import parse from misago.markup import checksums 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) 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) self.assertEqual(expected_result, result['parsed_text']) class ChecksupTests(TestCase): def test_checksums(self): fake_message = "

Woow, thats awesome!

" post_pk = 231 checksum = checksums.make_checksum(fake_message, [post_pk]) self.assertTrue( checksums.is_checksum_valid(fake_message, checksum, [post_pk])) self.assertFalse( checksums.is_checksum_valid(fake_message, checksum, [3]))