from django.test import TestCase from misago.markup.finalise import finalise_markup class QuoteTests(TestCase): def test_finalise_markup(self): """quote header is replaced""" test_text = ''' <p>Lorem ipsum.</p> <aside class="quote-block"> <div class="quote-heading"></div> <blockquote class="quote-body"> <p>Dolor met</p> <aside class="quote-block"> <div class="quote-heading"><a href="/users/bob-1/">@Bob</a></div> <blockquote class="quote-body"> <p>Dolor met</p> </blockquote> </aside> </blockquote> </aside> <p>Lorem ipsum dolor.</p> '''.strip() expected_result = ''' <p>Lorem ipsum.</p> <aside class="quote-block"> <div class="quote-heading">Quoted message:</div> <blockquote class="quote-body"> <p>Dolor met</p> <aside class="quote-block"> <div class="quote-heading"><a href="/users/bob-1/">@Bob</a> has written:</div> <blockquote class="quote-body"> <p>Dolor met</p> </blockquote> </aside> </blockquote> </aside> <p>Lorem ipsum dolor.</p> '''.strip() self.assertEqual(expected_result, finalise_markup(test_text)) def test_finalise_minified_markup(self): """header is replaced in minified post""" test_text = ''' <p>Lorem ipsum.</p><aside class="quote-block"><div class="quote-heading"></div><blockquote class="quote-body"><p>Dolor met</p><aside class="quote-block"><div class="quote-heading"><a href="/users/bob-1/">@Bob</a></div><blockquote class="quote-body"><p>Dolor met</p></blockquote></aside></blockquote></aside><p>Lorem ipsum dolor.</p> '''.strip() expected_result = ''' <p>Lorem ipsum.</p><aside class="quote-block"><div class="quote-heading">Quoted message:</div><blockquote class="quote-body"><p>Dolor met</p><aside class="quote-block"><div class="quote-heading"><a href="/users/bob-1/">@Bob</a> has written:</div><blockquote class="quote-body"><p>Dolor met</p></blockquote></aside></blockquote></aside><p>Lorem ipsum dolor.</p> '''.strip() self.assertEqual(expected_result, finalise_markup(test_text))