From 444328601f5414a55e8a91a8f7a4fbd6acfbce30 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Fri, 6 Feb 2015 16:48:29 +0000 Subject: [PATCH 1/2] Added EmbedBlock --- wagtail/wagtailembeds/blocks.py | 13 +++++++++++++ wagtail/wagtailembeds/tests.py | 17 +++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 wagtail/wagtailembeds/blocks.py diff --git a/wagtail/wagtailembeds/blocks.py b/wagtail/wagtailembeds/blocks.py new file mode 100644 index 000000000..8a82a9d87 --- /dev/null +++ b/wagtail/wagtailembeds/blocks.py @@ -0,0 +1,13 @@ +from django import forms + +from wagtail.wagtailadmin import blocks + +from wagtail.wagtailembeds.format import embed_to_frontend_html + + +class EmbedBlock(blocks.FieldBlock): + def __init__(self, **kwargs): + super(EmbedBlock, self).__init__(forms.URLField(), **kwargs) + + def render_basic(self, value): + return embed_to_frontend_html(value) diff --git a/wagtail/wagtailembeds/tests.py b/wagtail/wagtailembeds/tests.py index 4ec2e7637..258013909 100644 --- a/wagtail/wagtailembeds/tests.py +++ b/wagtail/wagtailembeds/tests.py @@ -25,6 +25,8 @@ from wagtail.wagtailembeds.embeds import ( oembed as wagtail_oembed, ) from wagtail.wagtailembeds.templatetags.wagtailembeds_tags import embed as embed_filter +from wagtail.wagtailembeds.blocks import EmbedBlock +from wagtail.wagtailembeds.models import Embed class TestEmbeds(TestCase): @@ -303,3 +305,18 @@ class TestEmbedFilter(TestCase): context = template.Context() result = temp.render(context) self.assertEqual(result, '') + + +class TestEmbedBlock(TestCase): + @patch('wagtail.wagtailembeds.format.get_embed') + def test_render(self, get_embed): + get_embed.return_value = Embed(html='

Hello world!

') + + block = EmbedBlock() + html = block.render('http://www.example.com') + + # Check that get_embed was called correctly + get_embed.assert_any_call('http://www.example.com') + + # Check that the embed was in the returned HTML + self.assertIn('

Hello world! Date: Fri, 6 Feb 2015 16:50:32 +0000 Subject: [PATCH 2/2] Minor HTML fix --- wagtail/wagtailembeds/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wagtail/wagtailembeds/tests.py b/wagtail/wagtailembeds/tests.py index 258013909..93231372e 100644 --- a/wagtail/wagtailembeds/tests.py +++ b/wagtail/wagtailembeds/tests.py @@ -319,4 +319,4 @@ class TestEmbedBlock(TestCase): get_embed.assert_any_call('http://www.example.com') # Check that the embed was in the returned HTML - self.assertIn('

Hello world!Hello world!

', html)