diff --git a/wagtail/documents/tests/test_rich_text.py b/wagtail/documents/tests/test_rich_text.py
index 8a442b33ee..6f09f33901 100644
--- a/wagtail/documents/tests/test_rich_text.py
+++ b/wagtail/documents/tests/test_rich_text.py
@@ -1,43 +1,59 @@
from bs4 import BeautifulSoup
from django.test import TestCase
-from wagtail.documents.rich_text import DocumentLinkHandler as DocumentFrontendHandler
-from wagtail.documents.rich_text.editor_html import DocumentLinkHandler as DocumentEditorHTMLHandler
+from wagtail.documents.rich_text import DocumentLinkHandler as FrontendDocumentLinkHandler
+from wagtail.documents.rich_text.editor_html import \
+ DocumentLinkHandler as EditorHtmlDocumentLinkHandler
-class TestDocumentRichTextLinkHandler(TestCase):
+class TestEditorHtmlDocumentLinkHandler(TestCase):
fixtures = ['test.json']
def test_get_db_attributes(self):
soup = BeautifulSoup('foo', 'html5lib')
tag = soup.a
- result = DocumentEditorHTMLHandler.get_db_attributes(tag)
- self.assertEqual(result,
- {'id': 'test-id'})
+ result = EditorHtmlDocumentLinkHandler.get_db_attributes(tag)
+ self.assertEqual(
+ result,
+ {'id': 'test-id'}
+ )
- def test_expand_db_attributes(self):
- result = DocumentFrontendHandler.expand_db_attributes({'id': 1})
- self.assertEqual(result,
- '')
+ def test_expand_db_attributes_for_editor(self):
+ result = EditorHtmlDocumentLinkHandler.expand_db_attributes({'id': 1})
+ self.assertEqual(
+ result,
+ ''
+ )
+
+ def test_expand_db_attributes_for_editor_preserves_id_of_nonexistent_document(self):
+ result = EditorHtmlDocumentLinkHandler.expand_db_attributes({'id': 0})
+ self.assertEqual(
+ result,
+ ''
+ )
+
+ def test_expand_db_attributes_for_editor_with_missing_id(self):
+ result = EditorHtmlDocumentLinkHandler.expand_db_attributes({})
+ self.assertEqual(
+ result,
+ ''
+ )
+
+
+class TestFrontendDocumentLinkHandler(TestCase):
+ fixtures = ['test.json']
+
+ def test_expand_db_attributes_for_frontend(self):
+ result = FrontendDocumentLinkHandler.expand_db_attributes({'id': 1})
+ self.assertEqual(
+ result,
+ ''
+ )
def test_expand_db_attributes_document_does_not_exist(self):
- result = DocumentFrontendHandler.expand_db_attributes({'id': 0})
+ result = FrontendDocumentLinkHandler.expand_db_attributes({'id': 0})
self.assertEqual(result, '')
def test_expand_db_attributes_with_missing_id(self):
- result = DocumentFrontendHandler.expand_db_attributes({})
+ result = FrontendDocumentLinkHandler.expand_db_attributes({})
self.assertEqual(result, '')
-
- def test_expand_db_attributes_for_editor(self):
- result = DocumentEditorHTMLHandler.expand_db_attributes({'id': 1})
- self.assertEqual(result,
- '')
-
- def test_expand_db_attributes_for_editor_preserves_id_of_nonexistent_document(self):
- result = DocumentEditorHTMLHandler.expand_db_attributes({'id': 0})
- self.assertEqual(result,
- '')
-
- def test_expand_db_attributes_for_editor_with_missing_id(self):
- result = DocumentEditorHTMLHandler.expand_db_attributes({})
- self.assertEqual(result, '')
diff --git a/wagtail/images/tests/test_rich_text.py b/wagtail/images/tests/test_rich_text.py
index d981abaadb..4f688ad613 100644
--- a/wagtail/images/tests/test_rich_text.py
+++ b/wagtail/images/tests/test_rich_text.py
@@ -1,87 +1,116 @@
from bs4 import BeautifulSoup
from django.test import TestCase
-from wagtail.images.rich_text import ImageEmbedHandler as ImageFrontendHandler
-from wagtail.images.rich_text.editor_html import ImageEmbedHandler as ImageEditorHTMLHandler
+from wagtail.images.rich_text import ImageEmbedHandler as FrontendImageEmbedHandler
+from wagtail.images.rich_text.editor_html import ImageEmbedHandler as EditorHtmlImageEmbedHandler
from wagtail.tests.utils import WagtailTestUtils
from .utils import Image, get_test_image_file
-class TestImageEmbedHandlers(TestCase, WagtailTestUtils):
+class TestEditorHtmlImageEmbedHandler(TestCase, WagtailTestUtils):
def test_get_db_attributes(self):
soup = BeautifulSoup(
'foo',
'html5lib'
)
tag = soup.b
- result = ImageEditorHTMLHandler.get_db_attributes(tag)
- self.assertEqual(result,
- {'alt': 'test-alt',
- 'id': 'test-id',
- 'format': 'test-format'})
-
- def test_expand_db_attributes_image_does_not_exist(self):
- result = ImageFrontendHandler.expand_db_attributes({'id': 0})
- self.assertEqual(result, '')
-
- def test_expand_db_attributes_not_for_editor(self):
- Image.objects.create(id=1, title='Test', file=get_test_image_file())
- result = ImageFrontendHandler.expand_db_attributes(
- {'id': 1,
- 'alt': 'test-alt',
- 'format': 'left'}
+ result = EditorHtmlImageEmbedHandler.get_db_attributes(tag)
+ self.assertEqual(
+ result,
+ {
+ 'alt': 'test-alt',
+ 'id': 'test-id',
+ 'format': 'test-format',
+ }
)
- self.assertTagInHTML('', result, allow_extra_attrs=True)
-
- def test_expand_db_attributes_escapes_alt_text(self):
- Image.objects.create(id=1, title='Test', file=get_test_image_file())
- result = ImageFrontendHandler.expand_db_attributes(
- {'id': 1,
- 'alt': 'Arthur "two sheds" Jackson',
- 'format': 'left'},
- )
- self.assertIn('alt="Arthur "two sheds" Jackson"', result)
-
- def test_expand_db_attributes_with_missing_alt(self):
- Image.objects.create(id=1, title='Test', file=get_test_image_file())
- result = ImageFrontendHandler.expand_db_attributes(
- {'id': 1,
- 'format': 'left'},
- )
- self.assertTagInHTML('', result, allow_extra_attrs=True)
def test_expand_db_attributes_for_editor(self):
Image.objects.create(id=1, title='Test', file=get_test_image_file())
- result = ImageEditorHTMLHandler.expand_db_attributes(
- {'id': 1,
- 'alt': 'test-alt',
- 'format': 'left'},
- )
+ result = EditorHtmlImageEmbedHandler.expand_db_attributes({
+ 'id': 1,
+ 'alt': 'test-alt',
+ 'format': 'left',
+ })
self.assertTagInHTML(
- '', result, allow_extra_attrs=True)
+ (
+ ''
+ ),
+ result,
+ allow_extra_attrs=True
+ )
+
+ def test_expand_db_attributes_for_editor_nonexistent_image(self):
+ self.assertEqual(
+ EditorHtmlImageEmbedHandler.expand_db_attributes({'id': 0}),
+ ''
+ )
def test_expand_db_attributes_for_editor_escapes_alt_text(self):
Image.objects.create(id=1, title='Test', file=get_test_image_file())
- result = ImageEditorHTMLHandler.expand_db_attributes(
- {'id': 1,
- 'alt': 'Arthur "two sheds" Jackson',
- 'format': 'left'},
- )
+ result = EditorHtmlImageEmbedHandler.expand_db_attributes({
+ 'id': 1,
+ 'alt': 'Arthur "two sheds" Jackson',
+ 'format': 'left',
+ })
+
self.assertTagInHTML(
- '',
+ (
+ ''
+ ),
result, allow_extra_attrs=True)
self.assertIn('alt="Arthur "two sheds" Jackson"', result)
def test_expand_db_attributes_for_editor_with_missing_alt(self):
Image.objects.create(id=1, title='Test', file=get_test_image_file())
- result = ImageEditorHTMLHandler.expand_db_attributes(
- {'id': 1,
- 'format': 'left'},
- )
+ result = EditorHtmlImageEmbedHandler.expand_db_attributes({
+ 'id': 1,
+ 'format': 'left',
+ })
self.assertTagInHTML(
- '', result, allow_extra_attrs=True)
+ (
+ ''
+ ),
+ result,
+ allow_extra_attrs=True
+ )
+
+
+class TestFrontendImageEmbedHandler(TestCase, WagtailTestUtils):
+ def test_expand_db_attributes_for_frontend(self):
+ Image.objects.create(id=1, title='Test', file=get_test_image_file())
+ result = FrontendImageEmbedHandler.expand_db_attributes({
+ 'id': 1,
+ 'alt': 'test-alt',
+ 'format': 'left',
+ })
+ self.assertTagInHTML(
+ '',
+ result,
+ allow_extra_attrs=True
+ )
+
+ def test_expand_db_attributes_for_frontend_with_nonexistent_image(self):
+ result = FrontendImageEmbedHandler.expand_db_attributes({'id': 0})
+ self.assertEqual(result, '')
+
+ def test_expand_db_attributes_for_frontend_escapes_alt_text(self):
+ Image.objects.create(id=1, title='Test', file=get_test_image_file())
+ result = FrontendImageEmbedHandler.expand_db_attributes({
+ 'id': 1,
+ 'alt': 'Arthur "two sheds" Jackson',
+ 'format': 'left',
+ })
+ self.assertIn('alt="Arthur "two sheds" Jackson"', result)
+
+ def test_expand_db_attributes_for_frontend_with_missing_alt(self):
+ Image.objects.create(id=1, title='Test', file=get_test_image_file())
+ result = FrontendImageEmbedHandler.expand_db_attributes({
+ 'id': 1,
+ 'format': 'left',
+ })
+ self.assertTagInHTML('', result, allow_extra_attrs=True)