Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 def test_disallowed_img_tag(self):
     raw_body = '<img src="gopher://foo">'
     self.assertEqual(render_body(raw_body), "<p></p>")
Ejemplo n.º 7
0
 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>")
Ejemplo n.º 8
0
 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>'
Ejemplo n.º 10
0
 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)
Ejemplo n.º 13
0
 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
Ejemplo n.º 14
0
 def test_markdown_inline(self, delimiter, tag):
     assert render_body(f'{delimiter}some text{delimiter}'
                        ) == f'<p><{tag}>some text</{tag}></p>'
Ejemplo n.º 15
0
 def test_empty(self):
     assert render_body('') == ''
Ejemplo n.º 16
0
 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>'
Ejemplo n.º 18
0
 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))
Ejemplo n.º 19
0
 def test_disallowed_img_tag(self):
     raw_body = '<img src="gopher://foo">'
     self.assertEqual(render_body(raw_body), "<p></p>")
Ejemplo n.º 20
0
 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>")
Ejemplo n.º 21
0
 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))
Ejemplo n.º 22
0
 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)
Ejemplo n.º 24
0
 def test_script_tag(self):
     raw_body = '<script type="text/javascript">alert("evil script");</script>'
     self.assertEqual(render_body(raw_body), 'alert("evil script");')
Ejemplo n.º 25
0
 def get_rendered_body(self, obj):
     """
     Returns the rendered body content.
     """
     return render_body(obj["body"])
Ejemplo n.º 26
0
 def test_unpaired_end_tag(self):
     self.assertEqual(render_body("foo</i>bar"), "<p>foobar</p>")
Ejemplo n.º 27
0
 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))
Ejemplo n.º 28
0
 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>'
Ejemplo n.º 30
0
 def test_empty(self):
     self.assertEqual(render_body(""), "")
Ejemplo n.º 31
0
 def test_unpaired_tags(self, tag, rendered_output):
     raw_body = f"foo<{tag}>bar"
     assert render_body(raw_body) == rendered_output
Ejemplo n.º 32
0
 def test_empty(self):
     self.assertEqual(render_body(""), "")
Ejemplo n.º 33
0
 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)
     )
Ejemplo n.º 34
0
 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))
Ejemplo n.º 35
0
 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)
Ejemplo n.º 36
0
 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))
Ejemplo n.º 37
0
 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)
Ejemplo n.º 38
0
 def test_script_tag(self):
     raw_body = '<script type="text/javascript">alert("evil script");</script>'
     self.assertEqual(render_body(raw_body), 'alert("evil script");')
Ejemplo n.º 39
0
 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))
Ejemplo n.º 40
0
 def test_unpaired_end_tag(self):
     self.assertEqual(render_body("foo</i>bar"), "<p>foobar</p>")
Ejemplo n.º 41
0
 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>")
Ejemplo n.º 42
0
 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)