Пример #1
0
 def test_code_sections_are_skipped(self):
     self.assertEqual(
         process_text_links(
             '<code>https://example.org</code><code>\nhttps://example.org\n</code>'
         ),
         '<code>https://example.org</code><code>\nhttps://example.org\n</code>',
     )
Пример #2
0
 def test_link_at_start_or_end(self):
     self.assertEqual(
         process_text_links('https://example.org example.org\nhttp://example.org'),
         '<a href="https://example.org" rel="nofollow" target="_blank">https://example.org</a> '
         '<a href="http://example.org" rel="nofollow" target="_blank">example.org</a>\n'
         '<a href="http://example.org" rel="nofollow" target="_blank">http://example.org</a>',
     )
Пример #3
0
 def test_link_at_start_or_end(self):
     self.assertEqual(
         process_text_links('https://example.org example.org\nhttp://example.org'),
         '<a href="https://example.org" rel="nofollow" target="_blank">https://example.org</a> '
         '<a href="http://example.org" rel="nofollow" target="_blank">example.org</a>\n'
         '<a href="http://example.org" rel="nofollow" target="_blank">http://example.org</a>',
     )
Пример #4
0
 def render(self):
     """Pre-render text to Content.rendered."""
     text = self.get_and_linkify_tags()
     rendered = commonmark(text).strip()
     rendered = process_text_links(rendered)
     if self.is_nsfw:
         rendered = make_nsfw_safe(rendered)
     if self.oembed:
         rendered = "%s<br>%s" % (rendered, self.oembed.oembed)
     if self.opengraph:
         rendered = "%s%s" % (rendered,
                              render_to_string(
                                  "content/_og_preview.html",
                                  {"opengraph": self.opengraph}))
     self.rendered = rendered
     Content.objects.filter(id=self.id).update(rendered=rendered)
Пример #5
0
 def render(self):
     """Pre-render text to Content.rendered."""
     text = self.get_and_linkify_tags()
     rendered = commonmark(text).strip()
     rendered = process_text_links(rendered)
     if self.is_nsfw:
         rendered = make_nsfw_safe(rendered)
     if self.show_preview:
         if self.oembed:
             rendered = "%s<br>%s" % (
                 rendered, self.oembed.oembed
             )
         if self.opengraph:
             rendered = "%s%s" % (
                 rendered,
                 render_to_string("content/_og_preview.html", {"opengraph": self.opengraph})
             )
     self.rendered = rendered
     Content.objects.filter(id=self.id).update(rendered=rendered)
Пример #6
0
 def test_does_not_add_target_blank_if_link_is_internal(self):
     self.assertEqual(
         process_text_links('<a href="/streams/tag/foobar">#foobar</a>'),
         '<a href="/streams/tag/foobar">#foobar</a>',
     )
Пример #7
0
 def test_emails_are_skipped(self):
     self.assertEqual(
         process_text_links('*****@*****.**'),
         '*****@*****.**',
     )
Пример #8
0
 def test_code_sections_are_skipped(self):
     self.assertEqual(
         process_text_links('<code>https://example.org</code><code>\nhttps://example.org\n</code>'),
         '<code>https://example.org</code><code>\nhttps://example.org\n</code>',
     )
Пример #9
0
 def test_existing_links_get_attrs_added(self):
     self.assertEqual(
         process_text_links('<a href="https://example.org">https://example.org</a>'),
         '<a href="https://example.org" rel="nofollow" target="_blank">https://example.org</a>',
     )
Пример #10
0
 def test_does_not_add_target_blank_if_link_is_internal(self):
     self.assertEqual(
         process_text_links('<a href="/streams/tag/foobar">#foobar</a>'),
         '<a href="/streams/tag/foobar">#foobar</a>',
     )
Пример #11
0
 def test_emails_are_skipped(self):
     self.assertEqual(
         process_text_links('*****@*****.**'),
         '*****@*****.**',
     )
Пример #12
0
 def test_existing_links_get_attrs_added(self):
     self.assertEqual(
         process_text_links(
             '<a href="https://example.org">https://example.org</a>'),
         '<a href="https://example.org" rel="nofollow" target="_blank">https://example.org</a>',
     )