def test_format_text_autolink(self): from fanboi2.helpers.formatters import format_text from markupsafe import Markup text = ('Hello from autolink:\n\n' 'Boom: http://example.com/"<script>alert("Hi")</script><a\n' 'http://www.example.com/ほげ\n' 'http://www.example.com/%E3%81%BB%E3%81%92\n' 'https://www.example.com/test foobar') self.assertEqual( format_text(text), Markup('<p>Hello from autolink:</p>\n' '<p>Boom: <a href="http://example.com/%22%3Cscript' '%3Ealert%28%22Hi%22%29%3C/script%3E%3Ca" ' 'class="link" target="_blank" rel="nofollow">' 'http://example.com/"<script>alert("' 'Hi")</script><a</a><br>' '<a href="http://www.example.com/%E3%81%BB%E3%81%92" ' 'class="link" target="_blank" rel="nofollow">' 'http://www.example.com/ほげ</a><br>' '<a href="http://www.example.com/%E3%81%BB%E3%81%92" ' 'class="link" target="_blank" rel="nofollow">' 'http://www.example.com/ほげ</a><br>' '<a href="https://www.example.com/test" ' 'class="link" target="_blank" rel="nofollow">' 'https://www.example.com/test</a> foobar</p>'))
def test_format_text_thumbnail(self): from fanboi2.helpers.formatters import format_text from markupsafe import Markup text = ("New product! https://imgur.com/foobar1\n\n" "http://i.imgur.com/foobar2.png\n" "http://imgur.com/foobar3.jpg\n" "http://youtu.be/test1\n" "http://www.youtube.com/watch?v=test2\n" "Buy today get TWO for FREE!!1") self.assertEqual( format_text(text), Markup('<p>New product! <a href="https://imgur.com/foobar1" ' 'class="link" target="_blank" rel="nofollow">' 'https://imgur.com/foobar1</a></p>\n' '<p><a href="http://i.imgur.com/foobar2.png" ' 'class="link" target="_blank" rel="nofollow">' 'http://i.imgur.com/foobar2.png</a><br>' '<a href="http://imgur.com/foobar3.jpg" class="link" ' 'target="_blank" rel="nofollow">' 'http://imgur.com/foobar3.jpg</a><br>' '<a href="http://youtu.be/test1" class="link" ' 'target="_blank" rel="nofollow">' 'http://youtu.be/test1</a><br>' '<a href="http://www.youtube.com/watch?v=test2" ' 'class="link" target="_blank" rel="nofollow">' 'http://www.youtube.com/watch?v=test2</a><br>' 'Buy today get TWO for FREE!!1</p>\n' '<p class="thumbnails"><a href="//imgur.com/foobar1" ' 'class="thumbnail" target="_blank">' '<img src="//i.imgur.com/foobar1b.jpg">' '</a>' '<a href="//imgur.com/foobar2" ' 'class="thumbnail" target="_blank">' '<img src="//i.imgur.com/foobar2b.jpg">' '</a>' '<a href="//imgur.com/foobar3" ' 'class="thumbnail" target="_blank">' '<img src="//i.imgur.com/foobar3b.jpg">' '</a>' '<a href="//www.youtube.com/watch?v=test2" ' 'class="thumbnail" target="_blank">' '<img src="//i1.ytimg.com/vi/test2/mqdefault.jpg">' '</a>' '<a href="//www.youtube.com/watch?v=test1" ' 'class="thumbnail" target="_blank">' '<img src="//i1.ytimg.com/vi/test1/mqdefault.jpg">' '</a>' '</p>'))
def test_format_text_shorten(self): from fanboi2.helpers.formatters import format_text from fanboi2.helpers.formatters import PostMarkup from markupsafe import Markup tests = ( ('Hello, world!', '<p>Hello, world!</p>', 13, False), ('Hello\nworld!', '<p>Hello</p>', 5, True), ('Hello, world!\nFoobar', '<p>Hello, world!</p>', 13, True), ('Hello', '<p>Hello</p>', 5, False), ) for source, target, length, shortened in tests: result = format_text(source, shorten=5) self.assertIsInstance(result, PostMarkup) self.assertEqual(result, Markup(target)) self.assertEqual(result.length, length) self.assertEqual(result.shortened, shortened)
def test_format_text(self): from fanboi2.helpers.formatters import format_text from markupsafe import Markup tests = [ ('Hello, world!', '<p>Hello, world!</p>'), ('H\n\n\nello\nworld', '<p>H</p>\n<p>ello<br>world</p>'), ('Foo\r\n\r\n\r\n\nBar', '<p>Foo</p>\n<p>Bar</p>'), ('Newline at the end\n', '<p>Newline at the end</p>'), ('STRIP ME!!!1\n\n', '<p>STRIP ME!!!1</p>'), ('ほげ\n\nほげ', '<p>ほげ</p>\n<p>ほげ</p>'), ('Foo\n \n Bar', '<p>Foo</p>\n<p>Bar</p>'), ('ไก่จิกเด็ก\n\nตายบนปากโอ่ง', '<p>ไก่จิกเด็ก</p>\n<p>ตายบนปากโอ่ง</p>'), ('<script></script>', '<p><script></script></p>'), ] for source, target in tests: self.assertEqual(format_text(source), Markup(target))