def get_rendered_body(self, obj): """ Returns the rendered body content. """ if self._rendered_body is None: self._rendered_body = render_body(obj["body"]) return self._rendered_body
def test_openclose_tag(self, tag): raw_body = "<{tag}>some text</{tag}>".format(tag=tag) is_inline_tag = tag in [ "b", "code", "del", "em", "i", "kbd", "s", "sup", "sub", "strong", "strike" ] rendered_body = _add_p_tags(raw_body) if is_inline_tag else raw_body self.assertEqual(render_body(raw_body), rendered_body)
def test_protocols_a_tag(self, protocol, is_allowed): raw_body = f'<a href="{protocol}://foo" title="bar">baz</a>' cleaned_body = '<a title="bar">baz</a>' rendered = render_body(raw_body) if is_allowed: assert rendered == _add_p_tags(raw_body) else: assert rendered == _add_p_tags(cleaned_body)
def test_protocols_img_tag(self, protocol, is_allowed): raw_body = f'<img alt="bar" height="222" src="{protocol}://foo" title="baz" width="111">' cleaned_body = '<img alt="bar" height="222" title="baz" width="111">' rendered = render_body(raw_body) if is_allowed: assert rendered == _add_p_tags(raw_body) else: assert rendered == _add_p_tags(cleaned_body)
def test_openclose_tag(self, tag): raw_body = f"<{tag}>some text</{tag}>" is_inline_tag = tag in [ "b", "code", "del", "em", "i", "kbd", "s", "sup", "sub", "strong", "strike" ] rendered_body = _add_p_tags(raw_body) if is_inline_tag else raw_body assert render_body(raw_body) == rendered_body
def test_disallowed_img_tag(self): raw_body = '<img src="gopher://foo">' self.assertEqual(render_body(raw_body), "<p></p>")
def test_disallowed_a_tag(self): raw_body = '<a href="gopher://foo">link content</a>' self.assertEqual(render_body(raw_body), "<p>link content</p>")
def test_selfclosing_tag(self, tag): raw_body = "<{tag}>".format(tag=tag) is_inline_tag = tag == "br" rendered_body = _add_p_tags(raw_body) if is_inline_tag else raw_body self.assertEqual(render_body(raw_body), rendered_body)
def test_disallowed_img_tag(self): raw_body = '<img src="gopher://foo">' assert render_body(raw_body) == '<p></p>'
def test_interleaved_tags(self): self.assertEqual( render_body("foo<i>bar<b>baz</i>quux</b>greg"), "<p>foo<i>barbaz</i>quuxgreg</p>" )
def test_unpaired_end_tag(self): assert render_body('foo</i>bar') == '<p>foobar</p>'
def test_allowed_a_tag(self, protocol): raw_body = f'<a href="{protocol}://foo" title="bar">baz</a>' assert render_body(raw_body) == _add_p_tags(raw_body)
def test_selfclosing_tag(self, tag): raw_body = f"<{tag}>" is_inline_tag = tag == "br" rendered_body = _add_p_tags(raw_body) if is_inline_tag else raw_body assert render_body(raw_body) == rendered_body
def test_markdown_inline(self, delimiter, tag): assert render_body(f'{delimiter}some text{delimiter}' ) == f'<p><{tag}>some text</{tag}></p>'
def test_empty(self): assert render_body('') == ''
def test_interleaved_tags(self): self.assertHTMLEqual( render_body('foo<i>bar<b>baz</i>quux</b>greg'), '<p>foo<i>bar<b>baz</b></i><b>quux</b>greg</p>', )
def test_interleaved_tags(self): assert render_body('foo<i>bar<b>baz</i>quux</b>greg' ) == '<p>foo<i>barbaz</i>quuxgreg</p>'
def test_allowed_unpaired_tags(self, tag): raw_body = "foo<{tag}>bar".format(tag=tag) self.assertEqual(render_body(raw_body), _add_p_tags(raw_body))
def test_disallowed_img_tag(self): raw_body = '<img src="gopher://foo">' self.assertEqual(render_body(raw_body), "<p></p>")
def test_interleaved_tags(self): self.assertEqual(render_body("foo<i>bar<b>baz</i>quux</b>greg"), "<p>foo<i>barbaz</i>quuxgreg</p>")
def test_allowed_unpaired_tags(self, tag): raw_body = "foo<{tag}>bar".format(tag=tag) self.assertEqual(render_body(raw_body), _add_p_tags(raw_body))
def test_allowed_img_tag(self, protocol): raw_body = '<img src="{protocol}://foo" width="111" height="222" alt="bar" title="baz">'.format( protocol=protocol ) self.assertEqual(render_body(raw_body), _add_p_tags(raw_body))
def test_allowed_unpaired_tags(self, tag): raw_body = f"foo<{tag}>bar" assert render_body(raw_body) == _add_p_tags(raw_body)
def test_script_tag(self): raw_body = '<script type="text/javascript">alert("evil script");</script>' self.assertEqual(render_body(raw_body), 'alert("evil script");')
def get_rendered_body(self, obj): """ Returns the rendered body content. """ return render_body(obj["body"])
def test_unpaired_end_tag(self): self.assertEqual(render_body("foo</i>bar"), "<p>foobar</p>")
def test_markdown_inline(self, delimiter, tag): self.assertEqual( render_body(u"{delimiter}some text{delimiter}".format( delimiter=delimiter)), u"<p><{tag}>some text</{tag}></p>".format(tag=tag))
def test_script_tag(self): raw_body = '<script type="text/javascript">alert("evil script");</script>' assert render_body(raw_body) == 'alert("evil script");'
def test_disallowed_a_tag(self): raw_body = '<a href="gopher://foo">link content</a>' assert render_body(raw_body) == '<p>link content</p>'
def test_empty(self): self.assertEqual(render_body(""), "")
def test_unpaired_tags(self, tag, rendered_output): raw_body = f"foo<{tag}>bar" assert render_body(raw_body) == rendered_output
def test_empty(self): self.assertEqual(render_body(""), "")
def test_markdown_inline(self, delimiter, tag): self.assertEqual( render_body(u"{delimiter}some text{delimiter}".format(delimiter=delimiter)), u"<p><{tag}>some text</{tag}></p>".format(tag=tag) )
def test_allowed_a_tag(self, protocol): raw_body = '<a href="{protocol}://foo" title="bar">baz</a>'.format( protocol=protocol) self.assertEqual(render_body(raw_body), _add_p_tags(raw_body))
def test_openclose_tag(self, tag): raw_body = "<{tag}>some text</{tag}>".format(tag=tag) is_inline_tag = tag in ["b", "code", "del", "em", "i", "kbd", "s", "sup", "sub", "strong", "strike"] rendered_body = _add_p_tags(raw_body) if is_inline_tag else raw_body self.assertEqual(render_body(raw_body), rendered_body)
def test_allowed_img_tag(self, protocol): raw_body = '<img src="{protocol}://foo" width="111" height="222" alt="bar" title="baz">'.format( protocol=protocol) self.assertEqual(render_body(raw_body), _add_p_tags(raw_body))
def test_selfclosing_tag(self, tag): raw_body = "<{tag}>".format(tag=tag) is_inline_tag = tag == "br" rendered_body = _add_p_tags(raw_body) if is_inline_tag else raw_body self.assertEqual(render_body(raw_body), rendered_body)
def test_script_tag(self): raw_body = '<script type="text/javascript">alert("evil script");</script>' self.assertEqual(render_body(raw_body), 'alert("evil script");')
def test_allowed_a_tag(self, protocol): raw_body = '<a href="{protocol}://foo" title="bar">baz</a>'.format(protocol=protocol) self.assertEqual(render_body(raw_body), _add_p_tags(raw_body))
def test_unpaired_end_tag(self): self.assertEqual(render_body("foo</i>bar"), "<p>foobar</p>")
def test_disallowed_a_tag(self): raw_body = '<a href="gopher://foo">link content</a>' self.assertEqual(render_body(raw_body), "<p>link content</p>")
def get_rendered_body(self, obj): """ Returns the rendered body content. """ return render_body(obj["body"])
def test_markdown_inline(self, delimiter, tag): assert render_body('{delimiter}some text{delimiter}'.format(delimiter=delimiter)) == \ '<p><{tag}>some text</{tag}></p>'.format(tag=tag)